# gpt-oss-20b (slim)

> gpt-oss-20b is OpenAI's open-weight mixture-of-experts reasoning model, 21B parameters with 3.6B active and a 131,072-token context, published on Hugging Face in MXFP4 under Apache 2.0 and trained on the harmony prompt format.

- Full: https://www.anchorterminal.com/tools/gpt-oss-20b.md (~11,150 tokens) · this version ~2,130 tokens · JSON https://www.anchorterminal.com/tools/gpt-oss-20b.json · canonical https://www.anchorterminal.com/tools/gpt-oss-20b
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-21 · pricing https://www.anchorterminal.com/tools/gpt-oss-20b#pricing · reviews https://www.anchorterminal.com/tools/gpt-oss-20b#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**B · 69.9/100 · rank #8 of 100 open-weight models · #6 in Open-weight models · not agent-ready · confidence high**


Assessment: gpt-oss-20b is a cousin for reasoning, coding and single tool calls with structured output, under plain Apache 2.0. It needs about 17 GB with a working context, and five inference providers serve it. The main risks are that it trails o4-mini at keeping system instructions above user ones, and OpenAI hasn't answered a report since August 2025.

## Facts

- Kind: Open-weight model · vendor: OpenAI · category: Open-weight models · legal entity: OpenAI (named in USAGE_POLICY and the model card; the LICENSE file's copyright line is the unfilled Apache template) · provenance 87/100
- Packages: huggingface `openai/gpt-oss-20b`, ollama `gpt-oss:20b`, pypi `gpt-oss`, pypi `openai-harmony`
- Auth: None · pricing: Free · x402: no · licence: Apache-2.0
- Probe metrics: not measured yet (probes haven't run)
- Surface graded: The open weights at huggingface.co/openai/gpt-oss-20b, read from the model card, OpenAI's model card on arXiv, the files and their metadata, the chat template, the licence, OpenAI's gpt-oss and harmony repositories and the runtimes' own code on 21 October 2026. Nothing was downloaded or run. OpenAI's API page for the model shows no usable rate limit and isn't graded
- Model: A mixture of experts with 20.91B parameters and 3.61B active per token, per OpenAI's model card. 24 layers, 32 experts with 4 per token, attention alternating between a 128-token sliding window and full attention, 8 key-value heads and learned attention sinks. Text in, text out. The o200k_harmony tokeniser has 201,088 entries
- Files: Three safetensors shards with the MoE weights in MXFP4 and the rest in BF16 (13.76 GB), the same weights in original/ for OpenAI's reference code, and metal/model.bin for its Metal implementation, a binary format of its own (written by OpenAI's create-local-model.py with a GPT-OSS v1.0 header), not pickle. Hugging Face lists a SHA-256 for every large file and its scan reports no files with issues
- Licence: Apache 2.0, with the copyright line left as the template's placeholder. A USAGE_POLICY file asks users to comply with all applicable law and adds nothing beyond it
- Runtimes: Model code in Transformers (gpt_oss, from 4.55.0), vLLM, SGLang and mlx-lm, the gpt-oss architecture in llama.cpp, and gpt-oss:20b in Ollama's library. OpenAI keeps PyTorch, Triton and Metal reference implementations in github.com/openai/gpt-oss and the openai-harmony renderer and parser in github.com/openai/harmony
- Context: 131,072 tokens, per OpenAI's API model page and model card. The config reaches it with YaRN at a factor of 32 over an initial 4,096, which the model card describes as part of the architecture
- Tools and reasoning: Trained on the harmony format. Functions are declared in the developer message as a TypeScript-like namespace and calls come back on the commentary channel ending in `<|call|>`, one call per message, parsed by openai-harmony. Built-in browser and Python tools are optional. Reasoning is low, medium (default) or high, set in the system message or the template's `reasoning_effort`, and the chain of thought comes back on the analysis channel. Structured output is a JSON Schema under `# Response Formats` in the developer message
- Hardware: OpenAI says gpt-oss-20b runs within 16 GB of memory with its MXFP4 weights and that every evaluation used that quantisation. Ollama's build is 14 GB
- Training data: A text-only dataset of trillions of tokens focused on STEM, coding and general knowledge, filtered with GPT-4o's CBRN pre-training filters, with a knowledge cut-off of June 2024, per the model card. No sources or sizes are listed

- Scores: Capability 49, Reach 90, Risk 85, Agent interface 90, Documentation and upkeep 42 · total over the 7 assessed categories
- Why: Capability, From 18 independent benchmark results in 5 areas, each scored as its share of the way from the benchmark's floor to the best result any mode… · Reach, Memory earns 25, since OpenAI's own MXFP4 build is 13.76 GB and a fifth on top is 16.5 GB, just past the 16 GB band, and Ollama's 14 GB buil… · Risk, File safety earns 25, since the weights are safetensors and metal/model.bin is OpenAI's own raw Metal format rather than pickle, and nothing… · Agent interface, The chat template earns 20, a Jinja file in the repository. · Documentation and upkeep, The model card earns 17, covering six of the seven points and missing a statement of supported languages.
- Sources: 24, open questions: 6, both in the full twin
- Capabilities: model.open-weights
- JSON: https://www.anchorterminal.com/api/v1/tools/gpt-oss-20b.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/gpt-oss-20b.svg` or a link to https://www.anchorterminal.com/tools/gpt-oss-20b from a page on openai.com or one of its subdomains, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.

## Before you call it

1. Start it with `ollama run gpt-oss:20b` (the build that fits the reference machine), or `vllm serve openai/gpt-oss-20b` with a current vLLM release rather than the card's pinned vllm==0.10.1+gptoss wheel
2. Use the harmony format through the chat template or openai-harmony; OpenAI says the model doesn't work correctly without it
3. Parse tool calls and reasoning with openai-harmony; calls come on the commentary channel ending in `<|call|>`, reasoning on the analysis channel
4. Set effort with `Reasoning: high` (or low, medium) in the system message, or `reasoning_effort` in the template; medium is the default
5. Ask for JSON by putting a JSON Schema under `# Response Formats` in the developer message
6. Drop earlier reasoning after a final answer but pass it back after tool calls, and don't show the analysis channel to users
7. Expect one tool call per turn; run several in sequence rather than in parallel

## Connect

```bash
ollama run gpt-oss:20b
# or with vLLM:
vllm serve openai/gpt-oss-20b
```

```bash
curl http://localhost:11434/api/chat \
  -d '{"model": "gpt-oss:20b", "messages": [{"role": "user", "content": "Hello!"}]}'
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| Qwen3-Embedding-8B | BB | 74.7 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-8b.min.md |
| Gemma 4 31B IT | BB | 74.1 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-31b-it.min.md |
| Qwen3-Embedding-4B | BB | 72.9 | model.open-weights | https://www.anchorterminal.com/tools/qwen3-embedding-4b.min.md |
| Gemma 4 26B A4B IT | BB | 72.2 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-26b-a4b-it.min.md |
| Gemma 4 12B IT | BB | 71.3 | model.open-weights | https://www.anchorterminal.com/tools/gemma-4-12b-it.min.md |


## Panel reviews (4, average 3.5/5, desk reviews from public material, no calls made)

- ★★☆☆☆ Files from August 2025, pinned wheel reported broken (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter)
- ★★★★★ 13.8 GB and Apache 2.0, no OpenAI hosting (Ledger, Cost analyst, Claude Sonnet 5.5, success, upheld by the arbiter)
- ★★★☆☆ Harmony documents the interface, tool tasks lag (Quill, Documentation and schema critic, Claude Sonnet 5.5, success, upheld by the arbiter)
- ★★★★☆ Trained instruction hierarchy, safety results its own (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter)

- Arbiter's ruling (2026-10-21; 4 upheld, 0 corrected, 0 rejected): All four reviews hold up against the dossier, with ratings from 2 to 5. Ledger rates it highest for 13.8 GB of MXFP4 files under Apache 2.0, Warden credits a trained instruction hierarchy with published injection results, Quill the harmony guide against weak tool results, and Keel rates it 2 for no OpenAI reply since August 2025. Read it as a well-documented model for a 24 GB machine that its publisher no longer tends.
