Ornith releases Ornith-1.5, an open model on par with Claude Opus 4.8

Ornith has released Ornith-1.5, a family of three open-source foundation models: a 397 billion parameter MoE flagship, a 35 billion parameter MoE model, and a 9 billion parameter dense model. The release extends the self-scaffolding framework Ornith introduced in Ornith-1.0 into what the company calls a complete self-improvement loop: the model proposes its own new training tasks, builds a task-specific scaffold for each one (the instructions, tools, and decomposition strategy needed to attempt it), and generates the solution rollouts used to train it further with reinforcement learning. Ornith-1.5 builds on Ornith-1.0, which itself was developed from Qwen3.5 and Gemma 4 through additional continued pretraining, mid-training, and post-training.
At the flagship scale, Ornith says Ornith-1.5-397B scores 86.1 on Terminal-Bench 2.1 and 56.0 on DeepSWE. In the same comparison, Claude Opus 4.8 scores 85.0 and 59.0 on those two benchmarks, ahead of Ornith-1.5-397B on DeepSWE and behind it on Terminal-Bench 2.1; Ornith describes this as performing on par with Opus 4.8. Against other open models near its own size, Ornith-1.5-397B is reported ahead of GLM-5.2 (82.7 and 46.2 on the same two benchmarks) and DeepSeek-V4-Flash-0731 (82.7 and 54.4).
Ornith-1.5-35B is a MoE model with 35 billion total parameters that activates only 3 billion of them per token. Ornith says it significantly outperforms its similarly sized peer Qwen 3.6-35B across all the coding and agentic benchmarks tested, and beats the larger dense models Gemma 4-31B and Meta's Muse Glimmer-30B by wide margins on agentic coding: 68.5 against 43.4 and 51.7 on Terminal-Bench 2.1, and 79.0 against 52.0 and 76.0 on SWE-Bench Verified. The smallest model, Ornith-1.5-9B, scores 47.0 on Terminal-Bench 2.1 and 70.6 on SWE-Bench Verified, which Ornith says matches or exceeds the larger Gemma 4-31B and Qwen 3.6-35B. A quantized version, Ornith-1.5-9B-Mobile, is built to run on iPhone and Android devices.
Each training cycle runs in three stages. Given an environment or codebase, the system first proposes a task harder than what the model has already solved. The model then builds or refines a scaffold for that task: the tools, instructions, and decomposition strategy it will use to attempt it. Conditioned on the task and scaffold, the policy then produces a solution rollout, and the resulting reward is propagated back across all three stages, so training improves the solver, the task generator, and the scaffold builder together. The reward for a generated task multiplies three signals: validity (whether the task and scaffold form a well-defined, verifiable environment), frontier difficulty (whether the task sits close to a target success rate of 0.2, meaning challenging but still solvable often enough to train on), and novelty relative to a buffer of previously generated tasks. Question generation, scaffold generation, and solution rollouts are all trained jointly using GRPO.
Key facts
- Ornith-1.5 ships in three open-source sizes, a 397 billion parameter MoE flagship, a 35 billion parameter MoE model, and a 9 billion parameter dense model, extending Ornith-1.0's self-scaffolding framework into a full self-improvement loop.
- Ornith says the flagship Ornith-1.5-397B scores 86.1 on Terminal-Bench 2.1 and 56.0 on DeepSWE, against Claude Opus 4.8's 85.0 and 59.0 on the same two benchmarks; Ornith calls this performing on par with Opus 4.8.
- Ornith-1.5-35B activates only 3 billion of its 35 billion parameters per token but is reported to beat the dense Gemma 4-31B and Meta's Muse Glimmer-30B by wide margins on agentic coding, for example 68.5 against 43.4 and 51.7 on Terminal-Bench 2.1.
- The reward for each self-generated training task multiplies three signals, validity, frontier difficulty (targeting a 0.2 success rate), and novelty, so the training curriculum evolves along with the model's own capability instead of relying on a fixed task set.
- Ornith's own results table reports Terminal-Bench 2.1 under two different evaluation harnesses, and the running text does not say which one each model size's figures use; at least two individual numbers, GLM-5.2's and Gemma 4-31B's, do not match the harness column the surrounding figures come from.
Why it matters
Ornith-1.5 is a fully open-source family, and Ornith positions its flagship, the 397 billion parameter Ornith-1.5-397B, as matching a closed frontier system on agentic coding work. Ornith's own numbers put it at 86.1 on Terminal-Bench 2.1 against Claude Opus 4.8's 85.0, and at 56.0 on DeepSWE against Opus 4.8's 59.0, ahead on one benchmark and behind on the other, which Ornith calls on par. Against other open models, Ornith reports Ornith-1.5-397B ahead of GLM-5.2, a considerably larger 753 billion parameter model, and of DeepSeek-V4-Flash-0731, on both benchmarks. Separately from the scores, the release documents a training method: rather than training against a fixed, human-curated set of tasks, Ornith-1.5 is trained through a closed loop in which the model proposes its own tasks, builds the scaffold needed to attempt each one, and generates the rollouts used for reinforcement learning, with reward propagated across all three so a stronger policy produces harder tasks and better scaffolds, which in turn produce a stronger policy. That self-generated curriculum, more than the benchmark scores, is the harder claim in the release: that capability gains do not have to wait on new human-labeled tasks.
Who it affects
Teams building coding agents and weighing open weight models against closed ones get a new comparison point, an open family Ornith says matches Claude Opus 4.8 on two agentic coding benchmarks at the top end and beats larger dense models at the small end. Mobile and edge developers get a specific option in Ornith-1.5-9B-Mobile, a quantized build of the 9 billion parameter model that Ornith says is built to run on iPhone and Android devices. Researchers working on reinforcement learning get the self-improvement recipe itself: a concrete method for jointly training task generation, scaffold construction, and rollout solving under one multiplicative reward.
How to use it
Ornith-1.5 spans three sizes aimed at different deployment targets: the 397 billion parameter MoE flagship for top-end agentic coding, a 35 billion parameter MoE model that activates only 3 billion parameters per token for cheaper inference, and a 9 billion parameter dense model with a quantized Mobile build for phones. Ornith's announcement page links to Hugging Face and to Twitter/X in its header, but the fetched text does not state a licence, a price, or a release date for the weights beyond those links, so the terms for actually obtaining and using the models are not established by the source itself.
How solid is it
Every comparison number comes from Ornith's own results table, not an independent evaluation, and a footnote says the reported Ornith-1.5 figures are averaged over five runs, which at least controls for run to run noise. The comparisons still carry internal inconsistencies. Ornith's table reports Terminal-Bench 2.1 under two different evaluation harnesses, Terminus-2 and Claude Code, with different scores per model, and the running text never says which one it is quoting: the flagship section's figures match the Terminus-2 column, while the 35B and 9B sections match the Claude Code column instead. The introduction's figure for GLM-5.2, 82.7, sits in the same sentence as three Terminus-2 numbers but is actually GLM-5.2's Claude Code score; its Terminus-2 score is 81. Separately, the 35B section states 43.4 for Gemma 4-31B on Terminal-Bench 2.1, a number that matches neither harness column for that model in Ornith's own table, which lists 42.1 under Terminus-2 and no entry at all under Claude Code. The footnotes also name two different judge models for two of the other benchmarks, Claude 4.6 Opus for HLE and Claude 4.8 Opus for MCP-Atlas, both distinct from Claude Opus 4.8, the model used as the comparison point throughout, without reconciling the naming.
Risks and caveats
Every number in the release is self-reported, and Ornith chose which competing models to show at each size; no independent benchmark run is cited anywhere in the source. The page gives no training data sources, dataset sizes, or compute and hardware budget for Ornith-1.5, so outside readers cannot judge what the training run cost or what it was trained on. It also gives no licence, price, or firm release date for the weights. The self-improvement loop's reward formula includes a term meant to resist reward hacking inside the self-generated evaluation harnesses, and the benchmark methodology separately describes safeguards used during evaluation itself, such as removing git history and disabling network access, to stop the model finding shortcuts rather than solving tasks; whether either safeguard holds up outside Ornith's own testing is not addressed by the source.