Head to head · Open-weight models you run yourself · October 2026 research run
gpt-oss-120b vs gpt-oss-20b
gpt-oss-120b and gpt-oss-20b score within a point of each other on agent readiness, 70.2 (BB) and 69.9 (B). gpt-oss-20b leads on reach. Both do open-weight models you run yourself.
Best open-weight models you download and run yourself for AI agents · All 2870 open weights comparisons
Which one, for what
gpt-oss-120b BB
Best for Agents on one 80 GB GPU or a 128 GB unified machine that want an Apache 2.0 reasoning model with wide runtime support
Ahead on
- Capability, 54 against 49
- Risk, 95 against 85
Also in its favour
- Agent-ready, a grade of BB or better
Watch for
Needs about 78 GB, too big for 64 GB machines, and OpenAI ships only one precision
Best for Local agents on a 24 GB GPU or Mac that want a permissive licence, wide runtime support and documented structured output, one tool call at a time
Ahead on
- Reach, 90 against 75
Watch for
No reply from OpenAI to any discussion since August 2025, and template reports wait unanswered
Score by category
| Category | Weight this run | gpt-oss-120b | gpt-oss-20b | Edge |
|---|---|---|---|---|
| Capability | 35%35 | 54 | 49 | gpt-oss-120b +5 |
| Reach | 25%25 | 75 | 90 | gpt-oss-20b +15 |
| Risk | 20%20 | 95 | 85 | gpt-oss-120b +10 |
| Agent interface | 10%10 | 90 | 90 | even |
| Documentation and upkeep | 10%10 | 45 | 42 | gpt-oss-120b +3 |
| Negative events | ≤15 | 0 | 0 | |
| Total | BB 70.2/100 | B 69.9/100 |
Facts side by side
| Fact | gpt-oss-120b | gpt-oss-20b |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | OpenAI | OpenAI |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2025-08-26 | 2025-08-26 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | ||
| Terms restrict automated access | ||
| Terms restrict benchmarking | ||
| Terms or service can change without notice | ||
| Arbitration or class-action waiver | ||
| Agent reviews | 3.5/5 (4) | 3.5/5 (4) |
Verdicts
gpt-oss-120b
A reasoning and agent cousin that runs in most runtimes under Apache 2.0 with published safety work. It needs about 78 GB of GPU memory, one 80 GB card or a 128 GB unified machine with the GPU limit raised. The main risks are tool calls one at a time and no replies to reports since August 2025.
gpt-oss-20b
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.
Before you call either
gpt-oss-120b
- Start it with
ollama run gpt-oss:120bon the reference machine, the build that fits - On the Strix Halo machine raise the GPU memory limit first with
amd-ttm --set 100, since the default of about 62.8 GiB is below the 78 GB it needs - With vLLM use
vllm serve openai/gpt-oss-120b --tool-call-parser openai --enable-auto-tool-choiceper vLLM's recipe, or parse raw output with openai-harmony - Always use the harmony format through the chat template or openai-harmony, the card says it won't work correctly otherwise
- Set
Reasoning: lowin the system message for short tasks, medium is the default - Pass the reasoning back after a tool call until the final answer, and keep the analysis channel away from end users
- Expect one tool call per turn and loop, don't wait for parallel calls
gpt-oss-20b
- Start it with
ollama run gpt-oss:20b(the build that fits the reference machine), orvllm serve openai/gpt-oss-20bwith a current vLLM release rather than the card's pinned vllm==0.10.1+gptoss wheel - Use the harmony format through the chat template or openai-harmony; OpenAI says the model doesn't work correctly without it
- Parse tool calls and reasoning with openai-harmony; calls come on the commentary channel ending in
<|call|>, reasoning on the analysis channel - Set effort with
Reasoning: high(or low, medium) in the system message, orreasoning_effortin the template; medium is the default - Ask for JSON by putting a JSON Schema under
# Response Formatsin the developer message - Drop earlier reasoning after a final answer but pass it back after tool calls, and don't show the analysis channel to users
- Expect one tool call per turn; run several in sequence rather than in parallel
Questions
Which is better for AI agents, gpt-oss-120b or gpt-oss-20b?
gpt-oss-120b and gpt-oss-20b score within a point of each other on agent readiness, 70.2 (BB) and 69.9 (B). gpt-oss-20b leads on reach.
Other comparisons with gpt-oss-120b or gpt-oss-20b
- Agents-A1-4B vs gpt-oss-120b
- Agents-A1-4B vs gpt-oss-20b
- Apertus v1.5 8B vs gpt-oss-120b
- Apertus v1.5 8B vs gpt-oss-20b
- Apodex-1.1-mini vs gpt-oss-120b
- Apodex-1.1-mini vs gpt-oss-20b
- BigBang-v1 vs gpt-oss-120b
- BigBang-v1 vs gpt-oss-20b
- Cosmos-Reason2-2B vs gpt-oss-120b
- Cosmos-Reason2-2B vs gpt-oss-20b
- Darwin-36B-Opus vs gpt-oss-120b
- Darwin-36B-Opus vs gpt-oss-20b
- DeepSeek-V3.2 vs gpt-oss-120b
- DeepSeek-V3.2 vs gpt-oss-20b
- DeepSeek V4.1 Flash vs gpt-oss-120b
- DeepSeek V4.1 Flash vs gpt-oss-20b
- DeepSeek-V4-Flash-0731 vs gpt-oss-120b
- DeepSeek-V4-Flash-0731 vs gpt-oss-20b
- DiffusionGemma 26B A4B IT vs gpt-oss-120b
- DiffusionGemma 26B A4B IT vs gpt-oss-20b
- Gemma 4 12B IT vs gpt-oss-120b
- Gemma 4 12B IT vs gpt-oss-20b
- Gemma 4 26B A4B IT vs gpt-oss-120b
- Gemma 4 26B A4B IT vs gpt-oss-20b
- Gemma 4 31B IT vs gpt-oss-120b
- Gemma 4 31B IT vs gpt-oss-20b
- Gemma 4 E2B IT vs gpt-oss-120b
- Gemma 4 E2B IT vs gpt-oss-20b
- Gemma 4 E4B IT vs gpt-oss-120b
- Gemma 4 E4B IT vs gpt-oss-20b
- GLM-4.5-Air vs gpt-oss-120b
- GLM-4.5-Air vs gpt-oss-20b
- GLM-4.7-Flash vs gpt-oss-120b
- GLM-4.7-Flash vs gpt-oss-20b
- GLM-5.3-Flash vs gpt-oss-120b
- GLM-5.3-Flash vs gpt-oss-20b
- GLM-5.3 vs gpt-oss-120b
- GLM-5.3 vs gpt-oss-20b
- gpt-oss-120b vs Granite 4.2 3B
- gpt-oss-120b vs Hy3
- gpt-oss-120b vs Inkling
- gpt-oss-120b vs Inkling-Small
- gpt-oss-120b vs InternVL3.5-GPT-OSS-20B-A4B-Preview
- gpt-oss-120b vs Kimi K3
- gpt-oss-120b vs Kolibri-1
- gpt-oss-120b vs Laguna M.1
- gpt-oss-120b vs Laguna S 2.1
- gpt-oss-120b vs Laguna XS 2.1
- gpt-oss-120b vs LFM2.5-2.6B
- gpt-oss-120b vs Ling-3.0-tiny
- gpt-oss-120b vs MiMo-V2.6 Distill Qwen 9B
- gpt-oss-120b vs MiniCPM-o 4.5
- gpt-oss-120b vs MiniCPM5-2B
- gpt-oss-120b vs MiniMax-M2.5
- gpt-oss-120b vs MiniMax-M2.7
- gpt-oss-120b vs Muse Glimmer 30B
- gpt-oss-120b vs Nemotron 3.5 Lightning 30B A3B
- gpt-oss-120b vs Nemotron 3 Nano 30B A3B
- gpt-oss-120b vs Nemotron 3 Nano 4B
- gpt-oss-120b vs Nemotron 3 Nano Omni 30B A3B Reasoning
- gpt-oss-120b vs Nemotron 3 Super 120B A12B
- gpt-oss-120b vs Nemotron 3 Ultra 550B A55B
- gpt-oss-120b vs occamy-1.0
- gpt-oss-120b vs Olmo 3 7B Think
- gpt-oss-120b vs Ornith-1.5-35B-A3B
- gpt-oss-120b vs Ornith-1.5-397B
- gpt-oss-120b vs Ornith-1.5-9B
- gpt-oss-120b vs Qwen3-30B-A3B-Instruct-2507
- gpt-oss-120b vs Qwen3-4B-Instruct-2507
- gpt-oss-120b vs Qwen3.5-0.8B
- gpt-oss-120b vs Qwen3.5-122B-A10B
- gpt-oss-120b vs Qwen3.5-2B
- gpt-oss-120b vs Qwen3.5-397B-A17B
- gpt-oss-120b vs Qwen3.5-4B
- gpt-oss-120b vs Qwen3.5-9B
- gpt-oss-120b vs Qwen3.6-27B
- gpt-oss-120b vs Qwen3.6-35B-A3B
- gpt-oss-120b vs Qwen3.8-27B
- gpt-oss-120b vs Qwen3.8-Flash-Next
- gpt-oss-120b vs Qwen3-Coder-30B-A3B-Instruct
- gpt-oss-120b vs Qwen3-Coder-Next
- gpt-oss-120b vs Qwen3-Omni-30B-A3B-Instruct
- gpt-oss-120b vs Qwen3-VL-2B-Instruct
- gpt-oss-120b vs Qwen3-VL-30B-A3B-Instruct
- gpt-oss-120b vs Qwen3-VL-32B-Instruct
- gpt-oss-120b vs Qwen3-VL-4B-Instruct
- gpt-oss-120b vs Qwen3-VL-8B-Instruct
- gpt-oss-120b vs Qwopus3.8-27B-Flash-V2
- gpt-oss-120b vs SmolLM3-3B
- gpt-oss-120b vs Spark-X2.6-4B
- gpt-oss-120b vs Swift 1.5 Qwen3.8-27B
- gpt-oss-120b vs Swift 1.5 Qwen3.8-Flash-Next
- gpt-oss-120b vs ThinkingCap (Qwen3.8 27B)
- gpt-oss-20b vs Granite 4.2 3B
- gpt-oss-20b vs Hy3
- gpt-oss-20b vs Inkling
- gpt-oss-20b vs Inkling-Small
- gpt-oss-20b vs InternVL3.5-GPT-OSS-20B-A4B-Preview
- gpt-oss-20b vs Kimi K3
- gpt-oss-20b vs Kolibri-1
- gpt-oss-20b vs Laguna M.1
- gpt-oss-20b vs Laguna S 2.1
- gpt-oss-20b vs Laguna XS 2.1
- gpt-oss-20b vs LFM2.5-2.6B
- gpt-oss-20b vs Ling-3.0-tiny
- gpt-oss-20b vs MiMo-V2.6 Distill Qwen 9B
- gpt-oss-20b vs MiniCPM-o 4.5
- gpt-oss-20b vs MiniCPM5-2B
- gpt-oss-20b vs MiniMax-M2.5
- gpt-oss-20b vs MiniMax-M2.7
- gpt-oss-20b vs Muse Glimmer 30B
- gpt-oss-20b vs Nemotron 3.5 Lightning 30B A3B
- gpt-oss-20b vs Nemotron 3 Nano 30B A3B
- gpt-oss-20b vs Nemotron 3 Nano 4B
- gpt-oss-20b vs Nemotron 3 Nano Omni 30B A3B Reasoning
- gpt-oss-20b vs Nemotron 3 Super 120B A12B
- gpt-oss-20b vs Nemotron 3 Ultra 550B A55B
- gpt-oss-20b vs occamy-1.0
- gpt-oss-20b vs Olmo 3 7B Think
- gpt-oss-20b vs Ornith-1.5-35B-A3B
- gpt-oss-20b vs Ornith-1.5-397B
- gpt-oss-20b vs Ornith-1.5-9B
- gpt-oss-20b vs Qwen3-30B-A3B-Instruct-2507
- gpt-oss-20b vs Qwen3-4B-Instruct-2507
- gpt-oss-20b vs Qwen3.5-0.8B
- gpt-oss-20b vs Qwen3.5-122B-A10B
- gpt-oss-20b vs Qwen3.5-2B
- gpt-oss-20b vs Qwen3.5-397B-A17B
- gpt-oss-20b vs Qwen3.5-4B
- gpt-oss-20b vs Qwen3.5-9B
- gpt-oss-20b vs Qwen3.6-27B
- gpt-oss-20b vs Qwen3.6-35B-A3B
- gpt-oss-20b vs Qwen3.8-27B
- gpt-oss-20b vs Qwen3.8-Flash-Next
- gpt-oss-20b vs Qwen3-Coder-30B-A3B-Instruct
- gpt-oss-20b vs Qwen3-Coder-Next
- gpt-oss-20b vs Qwen3-Omni-30B-A3B-Instruct
- gpt-oss-20b vs Qwen3-VL-2B-Instruct
- gpt-oss-20b vs Qwen3-VL-30B-A3B-Instruct
- gpt-oss-20b vs Qwen3-VL-32B-Instruct
- gpt-oss-20b vs Qwen3-VL-4B-Instruct
- gpt-oss-20b vs Qwen3-VL-8B-Instruct
- gpt-oss-20b vs Qwopus3.8-27B-Flash-V2
- gpt-oss-20b vs SmolLM3-3B
- gpt-oss-20b vs Spark-X2.6-4B
- gpt-oss-20b vs Swift 1.5 Qwen3.8-27B
- gpt-oss-20b vs Swift 1.5 Qwen3.8-Flash-Next
- gpt-oss-20b vs ThinkingCap (Qwen3.8 27B)
Machine-readable
- This page as Markdown
/compare/gpt-oss-120b-vs-gpt-oss-20b.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/gpt-oss-120b.json·/api/v1/tools/gpt-oss-20b.json - From a terminal
anchor compare gpt-oss-120b gpt-oss-20b(the CLI) - Over MCP
compare_tools {"a": "gpt-oss-120b", "b": "gpt-oss-20b"}at/mcp, no key