Ornith 1.5 Rivals Opus 4.8 on Terminal-Bench 2.1

What Ornith 1.5 is and which sizes it comes in

One announcement, signed only by the team, introduces MIT-licensed open weights that grew out of Qwen3.5 and Gemma 4. The post is titled "Ornith-1.5: From Self-Scaffolding to Self-Improvement" (August 2026), and no company name appears on the page. Ornith-1.5 extends Ornith-1.0, which was developed on top of Qwen3.5 and Gemma 4 with additional continued pretraining, mid-training, and post-training.

The family spans three scales, plus a quantized build of the smallest one. A mixture-of-experts (MoE) model routes each token through only part of its parameters, while a dense model uses all of them, so the 35B works with 3B parameters per token and the 9B works with its full set.

The Ornith-1.5 family

Size Architecture Note
397B MoE Flagship
35B MoE 3B parameters active per token
9B Dense Edge-deployable
9B-Mobile Quantized 9B Stated to run on iPhone and Android

All three sizes are released under the MIT license, and the weights are open for download. The 9B-Mobile build is the vendor's claim for phone deployment, so a phone test on real hardware is the only way to confirm it.

"Ornith-1.5 spans three model scales: 397B MoE, 35B MoE, and 9B Dense." / "It extends Ornith-1.0, which was developed on top of Qwen3.5 and Gemma 4 with additional continued pretraining (CPT), mid-training, and post-training." — from the introduction to the Ornith Team's announcement
View official source →

How Ornith 1.5 trains itself on tasks it writes

The model writes the problems it learns from, instead of working through a fixed set that people prepared in advance. According to the Ornith Team, Ornith-1.5 continuously generates new training tasks and discovers effective strategies for solving them. It then improves its policy through reinforcement learning, a method that rewards attempts that succeed.

Each round has three parts, and the model produces all of them: the task, the scaffold, and the solution rollout. A scaffold is the harness the model uses to attack the task, and a rollout is one attempt at solving it under that scaffold.

Repeated over training, the team describes a closed loop. A stronger policy can write harder tasks that teach more, and the scaffolds it evolves draw more out of the model. Better rollouts then feed back as better learning signals.

A generated task earns reward through three terms: validity, frontier difficulty, and novelty. Validity stops malformed tasks or unreliable scaffolds from earning reward for merely looking difficult, and difficulty is estimated from the model's own rollouts. A novelty term stops the model from repeating small variations of the same tasks.

"Rather than relying on a fixed set of human-curated tasks and manually designed harnesses, Ornith-1.5 continuously generates new training tasks, discovers effective strategies for solving them, and improves the policy through reinforcement learning." / "Repeated over training, this creates a closed self-improvement loop in which stronger policies enable the generation of harder and more informative tasks, evolving scaffolds discover better ways to elicit the model's capabilities, and higher-quality rollouts provide increasingly effective learning signals." / "This prevents malformed tasks or unreliable scaffolds from receiving reward simply because they appear difficult." / "Among valid tasks, the most useful ones are neither trivial nor impossible. We estimate difficulty directly from the model's rollouts." / "Frontier difficulty alone may lead the model to repeatedly generate small variations of the same tasks. We therefore add a novelty term:" — from the sections on the self-improvement loop and task reward design
View official source →

Ornith 1.5-397B against Claude Opus 4.8 on 13 benchmarks

The vendor's parity claim covers two tests, while the full table puts Opus 4.8 ahead on most rows, with the widest gaps on repository-scale and reasoning work. The headline sentence gives 86.1 on Terminal-Bench 2.1 and 56.0 on DeepSWE for the 397B, which the Ornith Team calls on par with Opus 4.8 at 85.0 and 59.0. The 397B is ahead on the first of those and behind on the second.

Ornith-1.5-397B against Claude Opus 4.8, score by benchmark (Ornith Team; Ornith-1.5 scores are five-run averages)

Bars show each benchmark score on its own scale (higher is better), scaled to the highest score shown. Source: Ornith Team announcement.

Terminal-Bench 2.1 (Terminus-2)

86.1Ornith-1.5-397B
85.0Claude Opus 4.8

Terminal-Bench 2.1 (Claude Code)

85.2Ornith-1.5-397B
78.9Claude Opus 4.8

SWE-bench Verified

86.0Ornith-1.5-397B
85.8Claude Opus 4.8

SWE-bench Pro

65.1Ornith-1.5-397B
68.0Claude Opus 4.8

DeepSWE

56.0Ornith-1.5-397B
59.0Claude Opus 4.8

Frontier-Bench v0.1

13.5Ornith-1.5-397B
21.1Claude Opus 4.8

NL2Repo

59.5Ornith-1.5-397B
69.7Claude Opus 4.8

HLE (no tools)

44.6Ornith-1.5-397B
49.8Claude Opus 4.8

GPQA Diamond

92.8Ornith-1.5-397B
93.6Claude Opus 4.8

MCP-Atlas

80.0Ornith-1.5-397B
82.2Claude Opus 4.8

Toolathlon-Verified

71.2Ornith-1.5-397B
76.2Claude Opus 4.8

WideSearch

80.8Ornith-1.5-397B
72.9Claude Opus 4.8

BrowseComp

86.6Ornith-1.5-397B
84.3Claude Opus 4.8

The 397B leads Opus 4.8 on 5 of the 13 rows: Terminal-Bench 2.1 under both harnesses, SWE-bench Verified, WideSearch, and BrowseComp. The clearest leads are Terminal-Bench 2.1 under the Claude Code harness, 85.2 against 78.9, and WideSearch, 80.8 against 72.9. The leads on Terminal-Bench 2.1 under Terminus-2 and on SWE-bench Verified are only 1.1 and 0.2 points.

Opus 4.8 takes the other 8 rows. Its widest gaps are 10.2 points on NL2Repo, 7.6 on Frontier-Bench v0.1, 5.2 on HLE without tools, and 5.0 on Toolathlon-Verified. For work that looks like those rows, such as repository-scale building and hard reasoning, the vendor's own table keeps Opus 4.8 ahead.

"Ornith-1.5-397B scores 86.1 on Terminal-Bench 2.1 and 56.0 on DeepSWE, performing on par with Claude Opus 4.8 (85.0 and 59.0) while outperforming leading open-source models of similar scale, including GLM-5.2 (82.7 and 46.2) and DeepSeek-V4-Flash-0731 (82.7 and 54.4)." — from the headline results
View official source →

The 397B against open-weight models and Kimi K3

Parameter count sets the outcome here: the two models near the 397B in size trail it throughout, and the one far larger model leads on most rows. The 397B is ahead of GLM-5.2 (753B) and DeepSeek-V4-Flash (284B) on every one of the 13 rows. Kimi K3, at 2.8T parameters, leads the 397B on 8 of the 9 rows where both report a score, and the 397B wins only on HLE, 44.6 to 43.5.

Ornith-1.5-397B against GLM-5.2, DeepSeek-V4-Flash and Kimi K3, score by benchmark (Ornith Team; Kimi K3 reports a score on 9 of the 13 rows)

Bars show each benchmark score (higher is better), scaled to the highest score shown. The six rows shown are those where Kimi K3 reports a score. Source: Ornith Team announcement.

Terminal-Bench 2.1 (Terminus-2)

86.1Ornith-1.5-397B
81.0GLM-5.2
82.7DeepSeek-V4-Flash
88.3Kimi K3

SWE-bench Verified

86.0Ornith-1.5-397B
83.0GLM-5.2
81.6DeepSeek-V4-Flash
86.2Kimi K3

DeepSWE

56.0Ornith-1.5-397B
46.2GLM-5.2
54.4DeepSeek-V4-Flash
67.5Kimi K3

Frontier-Bench v0.1

13.5Ornith-1.5-397B
5.1GLM-5.2
6.1DeepSeek-V4-Flash
23.0Kimi K3

HLE (no tools)

44.6Ornith-1.5-397B
40.5GLM-5.2
35.0DeepSeek-V4-Flash
43.5Kimi K3

BrowseComp

86.6Ornith-1.5-397B
85.6GLM-5.2
84.8DeepSeek-V4-Flash
91.2Kimi K3

The widest Kimi K3 margins sit on four rows: Terminal-Bench 2.1 under Terminus-2 (88.3 to 86.1), DeepSWE (67.5 to 56.0), Frontier-Bench v0.1 (23.0 to 13.5), and BrowseComp (91.2 to 86.6). Kimi K3 reports no score on four of the 13 rows, so the comparison covers fewer tasks than the other two.

The headline sentence limits its comparison to open-source models "of similar scale." Against GLM-5.2 and DeepSeek-V4-Flash, that framing holds on every row. Against Kimi K3, which is far larger than the 397B, it does not extend to a clean win.

"outperforming leading open-source models of similar scale, including GLM-5.2 (82.7 and 46.2) and DeepSeek-V4-Flash-0731 (82.7 and 54.4)." — from the headline results
View official source →

The 35B and 9B are the sizes most teams could run

Both smaller sizes beat Gemma 4-31B, a dense model with more than three times the 9B's parameters, on every coding row the vendor reports for them. The 35B activates 3B parameters per token. The Ornith Team says it outperforms its similar-sized peer Qwen 3.6-35B across all coding and agentic benchmarks and, on agentic coding, also outperforms dense Gemma 4-31B and Meta's Muse Glimmer-30B.

Ornith-1.5-35B against dense 30B-class models, score by benchmark (Ornith Team; Ornith-1.5 scores are five-run averages)

Bars show each benchmark score (higher is better), scaled to the highest score shown. The Terminal-Bench 2.1 score for the 35B is the Claude Code figure. Source: Ornith Team announcement.

Terminal-Bench 2.1

68.5Ornith-1.5-35B
43.4Gemma 4-31B
51.7Muse Glimmer-30B

SWE-bench Verified

79.0Ornith-1.5-35B
52.0Gemma 4-31B
76.0Muse Glimmer-30B

The margins differ by rival. The 35B leads Gemma 4-31B by 25.1 and 27.0 points on the two coding rows, but leads Muse Glimmer-30B on SWE-bench Verified by only 3.0 points. The 68.5 on Terminal-Bench 2.1 is the Claude Code harness figure, so any citation of it needs the harness attached.

The 9B is the more mixed result. Its Terminal-Bench 2.1 score of 46.2 under Terminus-2 is more than double Qwen3.5-9B's 21.3, and it beats Gemma 4-31B on all four coding rows.

Qwen3.6-35B-A3B still leads the 9B on 5 of the 7 rows, and the 9B comes out ahead only on NL2Repo and GPQA Diamond. The vendor's wording that the 9B "matches or exceeds" Qwen 3.6-35B therefore reads more strongly than its own table.

Ornith-1.5-9B against larger models and its own size class, score by benchmark (Ornith Team; Terminal-Bench 2.1 under Terminus-2)

Bars show each benchmark score (higher is better), scaled to the highest score shown. Source: Ornith Team announcement.

Terminal-Bench 2.1

46.2Ornith-1.5-9B
52.5Qwen3.6-35B-A3B
42.1Gemma 4-31B
21.3Qwen3.5-9B

SWE-bench Verified

70.6Ornith-1.5-9B
73.4Qwen3.6-35B-A3B
52.0Gemma 4-31B
53.2Qwen3.5-9B

SWE-bench Pro

47.5Ornith-1.5-9B
49.5Qwen3.6-35B-A3B
35.7Gemma 4-31B
31.3Qwen3.5-9B

NL2Repo

32.4Ornith-1.5-9B
29.4Qwen3.6-35B-A3B
15.5Gemma 4-31B
16.2Qwen3.5-9B

GPQA Diamond

86.4Ornith-1.5-9B
86.0Qwen3.6-35B-A3B
84.3Gemma 4-31B
81.7Qwen3.5-9B

MCP-Atlas

54.2Ornith-1.5-9B
62.8Qwen3.6-35B-A3B
55.0Gemma 4-31B
46.8Qwen3.5-9B

Toolathlon-Verified

41.2Ornith-1.5-9B
41.7Qwen3.6-35B-A3B
52.8Gemma 4-31B
29.6Qwen3.5-9B

Tool orchestration is the weak spot. On MCP-Atlas the 9B scores 54.2 against 55.0 for Gemma 4-31B, and on Toolathlon-Verified it trails Gemma 4-31B, 41.2 to 52.8. The 9B-Mobile build is the vendor's route to iPhone and Android, and the post gives no separate table for it.

"Ornith-1.5-35B significantly outperforms its similar-sized peer Qwen 3.6-35B across all coding and agentic benchmarks, and despite activating only 3B parameters per token, it also outperforms dense models—Gemma 4-31B and Meta's Muse Glimmer-30B—by wide margins on agentic coding (68.5 vs. 43.4 and 51.7 on Terminal-Bench 2.1; 79.0 vs. 52.0 and 76.0 on SWE-Bench Verified)." / "The edge-deployable Ornith-1.5-9B also delivers remarkably strong results, achieving 47.0 on Terminal-Bench 2.1 and 70.6 on SWE-Bench Verified. Despite being a compact 9B-parameter model, it matches or exceeds the performance of much larger models such as Gemma 4-31B and Qwen 3.6-35B." / "with its quantized Ornith-1.5-9B-Mobile version, can be readily deployed on iPhone and Android devices while substantially outperforming larger models such as Gemma 4-31B and Qwen 3.6-35B." — from the 35B and 9B results and the introduction
View official source →

How far to trust self-reported benchmark results

Only the team that built the model has run these tests, so each figure carries the confidence of a vendor claim until an outside group reruns it. Every Ornith-1.5 score is averaged over five independent runs, and as of late September 2026 nobody outside the team had reproduced them.

The Ornith Team does disclose how it guarded against leaks. Git history is removed from the local repository image to prevent access to prior solutions or commits, and network access is disabled so the model cannot retrieve external information. Those are the two obvious shortcuts in agentic coding tests, and both are closed.

Two details need a second look. HLE is evaluated with Claude 4.6 Opus as the judge model, which comes from the same vendor family as the model Ornith is compared with.

The prose also mixes harnesses. The headline sentence quotes GLM-5.2 at 82.7 on Terminal-Bench 2.1, its Claude Code score, next to Ornith's Terminus-2 score of 86.1, while the table lists GLM-5.2 at 81.0 under Terminus-2. The 35B paragraph quotes a Claude Code figure, and the 9B paragraph quotes 47.0 where the table uses 46.2.

"All results reported for Ornith-1.5 are averaged over five independent runs." / "Anti-hacking safeguards are applied throughout evaluation: Git history is removed from the local repository image to prevent access to prior solutions or commits; network access is disabled, preventing the model from retrieving external information or resources." / "HLE: Evaluated using Claude 4.6 Opus as the judge model." — from the evaluation methodology footnotes
View official source →

Summary: start with the 35B, test the 9B on tools

Ornith 1.5 earns a trial on terminal-driven coding, but the vendor's own table does not support dropping Opus 4.8 for repository-scale work. The choice by workload:

  • Terminal-driven coding: test the 35B first on your own tasks. The 397B leads Opus 4.8 on both Terminal-Bench 2.1 harnesses, and the 35B reports 68.5 on that test against 43.4 for Gemma 4-31B.
  • Repository-scale development and hard reasoning: keep Opus 4.8. It leads on NL2Repo, Frontier-Bench v0.1, HLE, and Toolathlon-Verified in the vendor's table.
  • On-device agents: test the 9B on your own tool calls before committing, because it trails on MCP-Atlas and Toolathlon-Verified even where its coding rows are strong.

Because every number is the Ornith Team's own, run a handful of tasks from your own backlog through the Ornith model and through your current one, and compare the results before changing anything in production. Start with the 35B.

FAQ

Who makes Ornith-1.5?
The announcement is signed Ornith Team, and no company name appears on the page. The post describes the family as an extension of Ornith-1.0, which was built on top of Qwen3.5 and Gemma 4.
What license is Ornith-1.5 released under?
MIT, on all three sizes: the 397B, the 35B and the 9B. The Ornith Team publishes the weights as open weights, so they can be downloaded and run on your own hardware.
Does Ornith-1.5-397B really match Claude Opus 4.8?
On two benchmarks. It scores 86.1 to Opus 4.8's 85.0 on Terminal-Bench 2.1 under the Terminus-2 harness, and 56.0 to 59.0 on DeepSWE, which the Ornith Team calls on par. Across the full 13-row table, Opus 4.8 leads on 8 rows, including NL2Repo, Frontier-Bench, HLE, SWE-bench Pro, and GPQA Diamond.
Can Ornith-1.5-9B run on a phone?
That is the vendor's stated claim, through a quantized Ornith-1.5-9B-Mobile build for iPhone and Android. In the published table the 9B beats Gemma 4-31B on every coding benchmark but trails Qwen3.6-35B-A3B on five of seven rows, and tool orchestration is its weak spot.
Are the benchmark numbers independently verified?
No. Every Ornith-1.5 figure comes from the Ornith Team's own evaluation, averaged over five independent runs, and nobody outside the team had reproduced them as of late September 2026.