GPT-OSS 120B (Workers AI)
| Maker | OpenAI |
|---|---|
| Released | 2025-08-05 |
| Context | 128K |
| Max output | 16.4K |
| Open weights | Apache-2.0 |
|---|---|
| Modalities | text → text |
| Input / 1M | $0.35 |
| Output / 1M | $0.75 |
| Review call | $0.011 |
|---|---|
| Reasoning efforts | low, medium, high |
| Hosts | Cloudflare Workers AI, OpenRouter |
| Model id | @cf/openai/gpt-oss-120b |
- Rank
- #8
- of 17
- Bugs caught
- 40%
- 29%–52%
- False alarms
- 2.5
- per clean PR
- Cost / review
- $0.0075
- Cost / bug
- $0.0189
- Time
- 55s
- per review
GPT-OSS 120B is a low-cost reviewer ($0.0075 and 55s per review on Workers AI) that is hard to recommend, because a closed model from the same maker beats it on recall, cost and noise.
That model is GPT-6 Luna. Luna measurably catches more bugs, its review costs less, and its false-alarm interval sits wholly below this model's. GPT-OSS 120B caught 40% [29%–52%] of the known bugs and raised 2.5 [2.2–2.9] false alarms per clean PR; Luna's figures are 67% [53%–80%] and 0.7 [0.3–1.1]. The side-by-side shows it fixture by fixture.
Look at where its comments land as well. 49% of its catches sat on the defect's own lines, fewer than Luna's 97%. When a finding points near the bug rather than at it, someone has to go looking, which eats into the time a cheap reviewer is meant to save.
Its rank is 8 of 17, with 7 ranked models measurably ahead, and it ran at medium reasoning effort. One scoring detail: an OpenAI judge sits on the three-judge panel, so its vote is dropped for this model.
The case for it is the open weights, and nothing else in this data. If you need an open model in a cheap seat, GLM-5.3 Flash cost less per review. GPT-OSS 120B on Groq lists at $0.15 / $0.60 per 1M tokens, against $0.35 / $0.75 here, but it was not in the run.
Figures follow the latest benchmark run and price check. Text checked Nov 5, 2026.
| Host | Model id | Input / 1M | Output / 1M |
|---|---|---|---|
| Cloudflare Workers AI | @cf/openai/gpt-oss-120b | $0.35 | $0.75 |
Source: Workers AI pricing, Oct 16, 2026
By kind of bug
- Logic 14
- 38%
- Security 9
- 39%
- Concurrency 8
- 42%
- Error handling 5
- 60%
- API misuse 3
- 22%
- Resource handling 3
- 33%
Bug by bug
- Known bugs
- 42
- Caught every run
- 8
- Caught sometimes
- 21
- Missed
- 13
- Clean PRs
- 15
- False alarms on them
- 150
| Result | Pull request | Language | Kind |
|---|---|---|---|
| Caught every run | Simplify using `StringValues` in Liquid templatesOrchardCMS/OrchardCore | C# | Security |
| Caught every run | perf(libs/core): poll only ready handles and yield between I/O batchesdenoland/deno | Rust | Concurrency |
| Caught every run | Fixed #36540 -- Updated request.auser() in contrib.auth.alogin() and contrib.auth.alogout().django/django | Python | Logic |
| Caught every run | Fixed #36226 -- Accepted str or bytes for password and salt in password hashers.django/django | Python | Error handling |
| Caught every run | Refactor eventually to ensure wall-clock time usagekotest/kotest | Kotlin | Error handling |
| Caught every run | Remove child store from parent when invalidatedpointfreeco/swift-composable-architecture | Swift | Resource handling |
| Caught every run | Properly handle redirects in prerendered pagesremix-run/react-router | TypeScript | Security |
| Caught every run | Affix `Protocol` at top of client handshakerustls/rustls | Rust | Logic |
| Model | Maker | Input / 1M | Output / 1M | Review call | Context |
|---|---|---|---|---|---|
| DeepSeek Flash | DeepSeek | $0.30 | $1.20 | $0.0108 | 1M |
| Gemini 3.1 Flash-Lite | $0.25 | $1.50 | $0.0102 | 1M | |
| Codestral 25.08 | Mistral | $0.30 | $0.90 | $0.01 | 128K |
| MiMo-V2.6-Pro (OpenRouter) | Xiaomi | $0.435 | $0.87 | $0.0135 | 1.1M |
Updated Nov 5, 2026