What actually shipped
On September 3, 2026, OpenAI released GPT-6 Astra, and framed it as the start of the "AGI era". I want to set that framing aside, because it is the least useful part of the launch. What matters to anyone shipping software is narrower and much more concrete: the model is meaningfully better at operating a computer, and it is five times more expensive per token than the model most teams are running today.
The API surface is gpt-6-astra: a 1,050,000-token context window (922k input, 128k output), an April 30, 2026 knowledge cutoff, text and image input, and five reasoning-effort levels from low through max. It ships with hosted tools for web search, file search, code interpreter, a hosted shell, apply patch, computer use, and MCP.
That tool list is the actual headline. The bet is not that the model writes better prose. The bet is that you can hand it a multi-step job across a browser, a terminal and a codebase, and walk away.
The numbers, and which ones to trust
Compared to its predecessor GPT-5.6 Sol, the jumps are real, and they are concentrated exactly where you would expect an agentic model to improve:
| Benchmark | Astra | GPT-5.6 Sol |
|---|---|---|
| OSWorld 2.0 (computer use) | 72.6% | 65.7% |
| Terminal-Bench 4.0 | 57.7% | 37.3% |
| FrontierMath Tier 4 | 97.6% | 83.0% |
| ExploitBench | 100% | 78.5% |
| GPQA Diamond | 96.0% | 94.6% |
Terminal-Bench going from 37.3% to 57.7% is the number I would actually plan around. It is the closest proxy for "can this thing finish a real task in a real shell without me babysitting it", and a 20-point gain there changes what you are willing to delegate. The OSWorld result comes with a second figure that matters as much as the accuracy: roughly 47% less wall-clock time per task. Agents that are accurate but slow are still a supervision problem.
The headline everyone quoted was 99.9% on ARC-AGI-3. Treat that one carefully: it requires a stateful, expensive harness, and stateless API calls score materially lower. Similarly, a 100% on ExploitBench says more about the benchmark being saturated than about the model being finished. Saturated benchmarks stop being measurements and start being marketing.
A million tokens is a budget, not a feature
Every time a context window grows, the same reflex shows up: stop building retrieval, just put everything in the prompt. With Astra that reflex is expensive enough to be an architecture decision rather than a convenience.
// A 1M-token context is a budget, not a target.// At $10 per million input tokens, one "just dump the repo in" call costs// about $9.22 at the 922k input ceiling — before a single output token.const INPUT_PER_MTOK = 10;const OUTPUT_PER_MTOK = 50;const CACHED_INPUT_PER_MTOK = 1; function costUSD({ fresh, cached, output }) { return ( (fresh / 1e6) * INPUT_PER_MTOK + (cached / 1e6) * CACHED_INPUT_PER_MTOK + (output / 1e6) * OUTPUT_PER_MTOK );} // Same 200k-token context, 5k output, called 1000 times a day:costUSD({ fresh: 200_000, cached: 0, output: 5_000 }) * 1000; // ≈ $2,250/daycostUSD({ fresh: 20_000, cached: 180_000, output: 5_000 }) * 1000; // ≈ $630/dayInput is $10 per million tokens and output is $50. Cached input is $1. So the single highest-leverage thing you can do at this price point has nothing to do with prompting technique: it is structuring your requests so the large, stable part of the context sits at the front and gets cached, and only the small, task-specific part is fresh.
import OpenAI from "openai"; const client = new OpenAI(); // The knobs that actually move the bill: reasoning effort and cache hits.const response = await client.responses.create({ model: "gpt-6-astra", reasoning: { effort: "low" }, // low | medium | high | xhigh | max input: [ // Keep the stable prefix first so prompt caching can hit it: $1/Mtok // cached vs $10/Mtok fresh is a 10x difference on the same tokens. { role: "system", content: SYSTEM_PROMPT }, { role: "user", content: userTask }, ], tools: [{ type: "web_search" }],});The reasoning-effort dial deserves the same discipline. There are five levels, and the default instinct to reach for max is how teams end up with a bill they cannot explain. Most production traffic is classification, extraction and routing — work that does not benefit from deep reasoning and should not pay for it.
The price is the design constraint
For context: GPT-5.6 Terra runs at $2 input / $12 output, and Claude Opus 5 at $5 / $25. Astra at $10 / $50 is not a slightly pricier option, it is a different tier, and there is a fast mode at roughly 2.5x speed for 2x the cost on top of that.
Which means the interesting engineering question in late 2026 is not "which model is best". It is routing. The shape that keeps working is a cheap model handling the long tail of simple calls, with an escalation path to the expensive model for the small fraction of requests that genuinely need multi-step autonomy. Anything else and you are paying frontier prices to reformat JSON.
Worth saying plainly: a model that is better at finishing tasks unsupervised can also be a model that spends more of your money before anyone notices it went wrong. Per-task token ceilings and a hard spend alarm are not premature optimization here. They are the same category of control as a timeout on an HTTP client.
The security capability is the uncomfortable part
Astra reaches the "Critical" threshold under OpenAI's Preparedness Framework for cybersecurity. At launch the publicly available capability is secure code review and patching; the advanced exploit-creation capability is gated behind a restricted program.
The defensive half is genuinely useful and I would put it in a CI pipeline tomorrow — as a reviewer that files findings, never as something with commit rights. But the gating is worth reading for what it implies rather than what it says. A capability that has to be withheld from general availability is a capability that exists. The defensive posture that follows from that is not "panic", it is the boring one: assume the cost of finding a vulnerability in your code is dropping faster than the cost of writing it, and shift budget accordingly.
What I would actually change
Three things, in order of how much they pay back.
Instrument before you migrate. If you cannot break your token spend down by feature and by call site, a 5x price change is invisible to you until the invoice arrives. This is cheap to build and it is the prerequisite for every other decision here.
Design the escalation path, not the model choice. Make the model a parameter of the call, not a constant in your codebase. Every provider that gets displaced was, at some point, hardcoded into someone's service layer.
Give autonomous runs a boundary. A hosted shell and computer use are only as safe as the sandbox you put them in. Scoped credentials, a token ceiling per run, and an audit trail of what the agent actually did. None of this is new advice; the model just made it load-bearing.
The honest summary is that Astra moves the frontier on autonomy and leaves the hard part exactly where it was. Deciding what a system should do, what it must never do, and who is accountable when it does it anyway — that is still engineering, and no benchmark score is coming to take it.