Head to head · Open-weight models you run yourself · October 2026 research run
Devstral Small 2 vs gpt-oss-120b
gpt-oss-120b scores 70.2 (BB) on agent readiness against Devstral Small 2's 61 (C), and leads in 2 of 4 scored categories. Devstral Small 2 leads on reach. Both do open-weight models you run yourself.
Best open-weight models you download and run yourself for AI agents · All 6359 open weights comparisons
Which one, for what
Best for Developers who want a dependable local coding agent on one consumer GPU or a 32 GB Mac
Ahead on
- Reach, 90 against 75
Watch for
No limitations, safety results, languages or data on the card
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
- Risk, 95 against 60
- Agent interface, 90 against 65
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
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Risk gpt-oss-120b +35
Devstral Small 2 60
File safety 25, safetensors only, no .bin, .pt or .pth files and no Python in the repository. Provenance 15, files in Mistral's verified mistralai organisation, which Mistral's site links to per our Mistral Large 4 listing (10). Safety evaluation 0, no safety results on the card. Agent guidance 0, the card has no limitations or safety section, and nothing on prompt injection, instruction priority or what the model refuses. Licence risk 15, Apache 2.0 has no use policy, threshold or change clause. Security programme 5, mistral.ai's security.txt gives a security contact and a submission policy, as read for the Mistral Large 4 listing (5). 25 + 15 + 0 + 0 + 15 + 5 = 60.
gpt-oss-120b 95
File safety earns 25, safetensors only, with metal/model.bin a raw format and not pickle, and nothing from the repository runs on load. Provenance earns 15, files in OpenAI's linked organisation with a hash for every file. Safety evaluation earns 20, published results with SecureBio as an outside evaluator. Agent guidance earns 15 for the trained instruction hierarchy with prompt-injection results. Licence risk keeps all 15. The security programme earns 5 for OpenAI's Bugcrowd programme and disclosure policy, and the advisories half scores 0 because GitHub couldn't be checked, not because it was found missing.
Agent interface gpt-oss-120b +25
Devstral Small 2 65
Chat template 20, chat_template.jinja in the repository (11,362 characters), with the tokenizer's tekken file for mistral-common. Tool-calling format 25, the card documents tools in the OpenAI function format with an example, names the mistral tool-call parser with auto tool choice for vLLM, shows the same for SGLang, and ships test prompts with the expected tool-call output. Trained tool calling 10, the card says the model excels at using tools, and its tests cover one tool call and calls made one at a time in sequence. Structured output 0, Nothing on the card about JSON or schema-constrained answers for this model. Reasoning control 0, no reasoning mode is documented, and a June 2026 commit removed stray thinking tokens from the files. Context 10, 256K tokens per the card, served at 262,144 in its vLLM command. 20 + 25 + 10 + 0 + 0 + 10 = 65.
gpt-oss-120b 90
The chat template earns 20, a Jinja file in the repository. The tool-calling format earns 25, since OpenAI documents declarations and returned calls in harmony and tells vLLM users to parse with openai-harmony. Trained tool calling earns 10, because each call stops generation, so calls come one at a time. Structured output earns 15 for the documented Response Formats section with a JSON Schema. Reasoning control earns 10, three effort levels per request with the reasoning on the analysis channel. Context earns 10 for 131,072 trained tokens.
Reach Devstral Small 2 +15
Devstral Small 2 90
Memory 25, the smallest build at 4 bits from a runtime's own library is Ollama's devstral-small-2 at Q4_K_M, 15 GB, and 15 GB × 1.2 = 18 GB, within 24 GB. Mistral's own FP8 files are 25.79 GB. Runtimes 25, Released vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 have the mistral3 model, llama.cpp b12242 has the architecture with a GGUF from its own organisation, and Ollama's library has devstral-small-2. Builds 10, one quantised precision from Mistral, the FP8 weights it releases. Terms 15, Apache 2.0 in the card's metadata and text, an OSI licence with nothing added. Download 10, the Hub API reports gated false on 10 November 2026, so the files download with no account and nothing to accept. Hosted 5, Mistral's own API serves Devstral Small 2: the card says the model is available through its API and points there when a local runtime underperforms. 25 + 25 + 10 + 15 + 10 + 5 = 90.
gpt-oss-120b 75
Memory earns 10, because the smallest 4-bit build, Ollama's 65 GB gpt-oss:120b, needs about 78 GB with the fifth added, which fits the reference machine but not 64 GB. Runtimes earn the full 25 from Transformers, vLLM, SGLang, llama.cpp and Ollama. Builds earn 10, since OpenAI ships one precision, MXFP4. Terms earn 15 for Apache 2.0 with a policy that asks only for lawful use. Download earns 10, with no gate or account. Hosted earns 5, since 11 inference providers serve it on Hugging Face even though OpenAI's own API doesn't.
Score by category
| Category | Weight this run | Devstral Small 2 | gpt-oss-120b | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 90 | 75 | Devstral Small 2 +15 |
| Risk | 20%20 | 60 | 95 | gpt-oss-120b +35 |
| Agent interface | 10%10 | 65 | 90 | gpt-oss-120b +25 |
| Documentation and upkeep | 10%10 | 46 | 45 | Devstral Small 2 +1 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 61/100 | BB 70.2/100 |
Facts side by side
| Fact | Devstral Small 2 | gpt-oss-120b |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Mistral AI | 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 | 2026-07-15 | 2025-08-26 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Agent reviews | none | 3.5/5 (4) |
Verdicts
Devstral Small 2
The easy one to run: a 24B coding agent under Apache 2.0 that five runtimes carry, 15 GB at 4 bits in Ollama, with a 256K context, image input and well-documented tool calling. It's eleven months old, calls tools one at a time, has no reasoning mode, and its card says nothing on limits, safety or data.
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.
Before you call either
Devstral Small 2
ollama run devstral-small-2is the quickest start, at 15 GB- On vLLM pass
--tool-call-parser mistral --enable-auto-tool-choice - Send the system prompt from CHAT_SYSTEM_PROMPT.txt in the repository. The card says results depend on it
- Use a low temperature. The repository's default is 0.15
- Plan for one tool call per turn
- The same model is on our Mistral API listing if you'd rather not host it
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
Questions
Which is better for AI agents, Devstral Small 2 or gpt-oss-120b?
gpt-oss-120b scores 70.2 (BB) on agent readiness against Devstral Small 2's 61 (C), and leads in 2 of 4 scored categories. Devstral Small 2 leads on reach.
Other comparisons with Devstral Small 2 or gpt-oss-120b
- Agents-A1-4B vs Devstral Small 2
- Agents-A1-4B vs gpt-oss-120b
- Apertus v1.5 8B vs Devstral Small 2
- Apertus v1.5 8B vs gpt-oss-120b
- Apodex-1.1-mini vs Devstral Small 2
- Apodex-1.1-mini vs gpt-oss-120b
- Arete-27B vs Devstral Small 2
- Arete-27B vs gpt-oss-120b
- BigBang-v1 vs Devstral Small 2
- BigBang-v1 vs gpt-oss-120b
- Carbon-X vs Devstral Small 2
- Carbon-X vs gpt-oss-120b
- Cola2 vs Devstral Small 2
- Cola2 vs gpt-oss-120b
- Cosmos-Reason2-2B vs Devstral Small 2
- Cosmos-Reason2-2B vs gpt-oss-120b
- Darwin-36B-Opus vs Devstral Small 2
- Darwin-36B-Opus vs gpt-oss-120b
- DeepSeek-V3.2 vs Devstral Small 2
- DeepSeek-V3.2 vs gpt-oss-120b
- DeepSeek V4.1 Flash vs Devstral Small 2
- DeepSeek V4.1 Flash vs gpt-oss-120b
- DeepSeek-V4-Flash-0731 vs Devstral Small 2
- DeepSeek-V4-Flash-0731 vs gpt-oss-120b
- Devstral Small 2 vs DiffusionGemma 26B A4B IT
- Devstral Small 2 vs EXAONE 4.5 33B
- Devstral Small 2 vs Gemma 4 12B IT
- Devstral Small 2 vs Gemma 4 26B A4B IT
- Devstral Small 2 vs Gemma 4 31B IT
- Devstral Small 2 vs Gemma 4 E2B IT
- Devstral Small 2 vs Gemma 4 E4B IT
- Devstral Small 2 vs GLM-4.5-Air
- Devstral Small 2 vs GLM-4.7-Flash
- Devstral Small 2 vs GLM-5.3
- Devstral Small 2 vs GLM-5.3-Flash
- Devstral Small 2 vs gpt-oss-20b
- Devstral Small 2 vs Granite 4.2 30B
- Devstral Small 2 vs Granite 4.2 3B
- Devstral Small 2 vs Granite 4.2 8B
- Devstral Small 2 vs Hy-Memory-30B-A3B
- Devstral Small 2 vs Hy3
- Devstral Small 2 vs Inkling
- Devstral Small 2 vs Inkling-Small
- Devstral Small 2 vs InternVL3.5-GPT-OSS-20B-A4B-Preview
- Devstral Small 2 vs Kimi K3
- Devstral Small 2 vs Kimi K3.1 Pro
- Devstral Small 2 vs Kolibri-1
- Devstral Small 2 vs Kronos
- Devstral Small 2 vs Laguna M.1
- Devstral Small 2 vs Laguna S 2.1
- Devstral Small 2 vs Laguna XS 2.1
- Devstral Small 2 vs LBS-27B
- Devstral Small 2 vs LFM2.5-2.6B
- Devstral Small 2 vs LFM3-1.7B
- Devstral Small 2 vs LFM3-Audio-2B
- Devstral Small 2 vs LFM3-Omni-2B
- Devstral Small 2 vs LFM3-VL-2B
- Devstral Small 2 vs Ling-3.0-tiny
- Devstral Small 2 vs Ling-3.1-flash-1019
- Devstral Small 2 vs LongCat-2.5
- Devstral Small 2 vs MiMo-V2.6 Distill Qwen 9B
- Devstral Small 2 vs MiMo-V2.6-Flash-RL
- Devstral Small 2 vs MiniCPM-o 4.5
- Devstral Small 2 vs MiniCPM-V 4.7 1B
- Devstral Small 2 vs MiniCPM-V 4.7 35B-A3B
- Devstral Small 2 vs MiniCPM5-2B
- Devstral Small 2 vs MiniMax-M2.5
- Devstral Small 2 vs MiniMax-M2.7
- Devstral Small 2 vs MiniMax-M3.1-Flash
- Devstral Small 2 vs Mistral Large 4
- Devstral Small 2 vs Muse Glimmer 30B
- Devstral Small 2 vs Nanbeige4.2-3B
- Devstral Small 2 vs Nanbeige4.3-33B
- Devstral Small 2 vs NVIDIA Nemotron 3.5 Bolt E4B 4GB
- Devstral Small 2 vs Nemotron 3.5 Lightning 30B A3B
- Devstral Small 2 vs Nemotron 3 Nano 30B A3B
- Devstral Small 2 vs Nemotron 3 Nano 4B
- Devstral Small 2 vs Nemotron 3 Nano Omni 30B A3B Reasoning
- Devstral Small 2 vs Nemotron 3 Super 120B A12B
- Devstral Small 2 vs Nemotron 3 Ultra 550B A55B
- Devstral Small 2 vs North Mini Code 1.0
- Devstral Small 2 vs occamy-1.0
- Devstral Small 2 vs Olmo 3 7B Think
- Devstral Small 2 vs Ornith-1.5-122B
- Devstral Small 2 vs Ornith-1.5-35B-A3B
- Devstral Small 2 vs Ornith-1.5-397B
- Devstral Small 2 vs Ornith-1.5-9B
- Devstral Small 2 vs OTel-2.0-LLM-31B-IT
- Devstral Small 2 vs Qwen-AgentWorld-35B-A3B
- Devstral Small 2 vs Qwen3-30B-A3B-Instruct-2507
- Devstral Small 2 vs Qwen3-4B-Instruct-2507
- Devstral Small 2 vs Qwen3.5-0.8B
- Devstral Small 2 vs Qwen3.5-122B-A10B
- Devstral Small 2 vs Qwen3.5-2B
- Devstral Small 2 vs Qwen3.5-397B-A17B
- Devstral Small 2 vs Qwen3.5-4B
- Devstral Small 2 vs Qwen3.5-9B
- Devstral Small 2 vs Qwen3.6-27B
- Devstral Small 2 vs Qwen3.6-35B-A3B
- Devstral Small 2 vs Qwen3.8-27B
- Devstral Small 2 vs Qwen3.8-Flash-Next
- Devstral Small 2 vs Qwen3-Coder-30B-A3B-Instruct
- Devstral Small 2 vs Qwen3-Coder-Next
- Devstral Small 2 vs Qwen3-Omni-30B-A3B-Instruct
- Devstral Small 2 vs Qwen3-VL-2B-Instruct
- Devstral Small 2 vs Qwen3-VL-30B-A3B-Instruct
- Devstral Small 2 vs Qwen3-VL-32B-Instruct
- Devstral Small 2 vs Qwen3-VL-4B-Instruct
- Devstral Small 2 vs Qwen3-VL-8B-Instruct
- Devstral Small 2 vs Qwopus3.8-27B-Flash-V2
- Devstral Small 2 vs Recursive Flint
- Devstral Small 2 vs Ripple-65B Preview
- Devstral Small 2 vs SenseNova-Loop-9B-Preview
- Devstral Small 2 vs SmolLM3-3B
- Devstral Small 2 vs Spark-X2.6-4B
- Devstral Small 2 vs Step 3.7 Flash
- Devstral Small 2 vs Swift 1.5 Qwen3.8-27B
- Devstral Small 2 vs Swift 1.5 Qwen3.8-Flash-Next
- Devstral Small 2 vs ThinkingCap (Qwen3.8 27B)
- Devstral Small 2 vs Baidu Unlimited-OCR-2
- Devstral Small 2 vs WeVisOne-VL-2B
- Devstral Small 2 vs WeVisOne-VL-4B
- Devstral Small 2 vs ZAYA1-8B
- DiffusionGemma 26B A4B IT vs gpt-oss-120b
- EXAONE 4.5 33B vs gpt-oss-120b
- Gemma 4 12B IT vs gpt-oss-120b
- Gemma 4 26B A4B IT vs gpt-oss-120b
- Gemma 4 31B IT vs gpt-oss-120b
- Gemma 4 E2B IT vs gpt-oss-120b
- Gemma 4 E4B IT vs gpt-oss-120b
- GLM-4.5-Air vs gpt-oss-120b
- GLM-4.7-Flash vs gpt-oss-120b
- GLM-5.3-Flash vs gpt-oss-120b
- GLM-5.3 vs gpt-oss-120b
- gpt-oss-120b vs gpt-oss-20b
- gpt-oss-120b vs Granite 4.2 30B
- gpt-oss-120b vs Granite 4.2 3B
- gpt-oss-120b vs Granite 4.2 8B
- gpt-oss-120b vs Hy-Memory-30B-A3B
- 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 Kimi K3.1 Pro
- gpt-oss-120b vs Kolibri-1
- gpt-oss-120b vs Kronos
- 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 LBS-27B
- gpt-oss-120b vs LFM2.5-2.6B
- gpt-oss-120b vs LFM3-1.7B
- gpt-oss-120b vs LFM3-Audio-2B
- gpt-oss-120b vs LFM3-Omni-2B
- gpt-oss-120b vs LFM3-VL-2B
- gpt-oss-120b vs Ling-3.0-tiny
- gpt-oss-120b vs Ling-3.1-flash-1019
- gpt-oss-120b vs LongCat-2.5
- gpt-oss-120b vs MiMo-V2.6 Distill Qwen 9B
- gpt-oss-120b vs MiMo-V2.6-Flash-RL
- gpt-oss-120b vs MiniCPM-o 4.5
- gpt-oss-120b vs MiniCPM-V 4.7 1B
- gpt-oss-120b vs MiniCPM-V 4.7 35B-A3B
- gpt-oss-120b vs MiniCPM5-2B
- gpt-oss-120b vs MiniMax-M2.5
- gpt-oss-120b vs MiniMax-M2.7
- gpt-oss-120b vs MiniMax-M3.1-Flash
- gpt-oss-120b vs Mistral Large 4
- gpt-oss-120b vs Muse Glimmer 30B
- gpt-oss-120b vs Nanbeige4.2-3B
- gpt-oss-120b vs Nanbeige4.3-33B
- gpt-oss-120b vs NVIDIA Nemotron 3.5 Bolt E4B 4GB
- 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 North Mini Code 1.0
- gpt-oss-120b vs occamy-1.0
- gpt-oss-120b vs Olmo 3 7B Think
- gpt-oss-120b vs Ornith-1.5-122B
- 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 OTel-2.0-LLM-31B-IT
- gpt-oss-120b vs Qwen-AgentWorld-35B-A3B
- 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 Recursive Flint
- gpt-oss-120b vs Ripple-65B Preview
- gpt-oss-120b vs SenseNova-Loop-9B-Preview
- gpt-oss-120b vs SmolLM3-3B
- gpt-oss-120b vs Spark-X2.6-4B
- gpt-oss-120b vs Step 3.7 Flash
- 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-120b vs Baidu Unlimited-OCR-2
- gpt-oss-120b vs WeVisOne-VL-2B
- gpt-oss-120b vs WeVisOne-VL-4B
- gpt-oss-120b vs ZAYA1-8B
Machine-readable
- This page as Markdown
/compare/devstral-small-2-vs-gpt-oss-120b.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/devstral-small-2.json·/api/v1/tools/gpt-oss-120b.json - From a terminal
anchor compare devstral-small-2 gpt-oss-120b(the CLI) - Over MCP
compare_tools {"a": "devstral-small-2", "b": "gpt-oss-120b"}at/mcp, no key