GPT-6 Astra Beat Portal for $571. The Invoice Is the Story
The first clean public receipt for long-horizon autonomy: 3,336 tool calls, 23 hours 43 minutes, $571.18 at list price — and a $200/month subscription that already covers it. What the invoice says about the falling price of an agent-hour.
The credits rolled on September 5, San Francisco time. A GPT-6 Astra agent had just finished Portal, start to finish, and the only human instruction after the initial goal was a request to let the credits keep rolling. The developer behind the run, who goes by cozyblaze, published the full setup, the session logs, and the receipt. The receipt is the interesting part.
You have probably seen the feat framed as an AGI moment. Jensen Huang declared "AGI has arrived" within days of the model's launch, and a model soloing a beloved puzzle game is exactly the kind of clip that fuels that argument. Set the philosophy aside. What this run actually produced is the first clean, public, auditable invoice for long-horizon autonomy: 23 hours 43 minutes, 3,336 tool calls, $571.18 in tokens at list price. Cozyblaze, to their credit, explicitly said it should not be read as a benchmark. It should be read as a price list.
How the run actually worked
The architecture, per the published repo, is refreshingly simple. GPT-6 Astra (at max reasoning effort) writes a plan in JavaScript, which goes to a local MCP server, which talks over TCP on localhost to a modified SourcePauseTool, which drives Portal. The key modification is in the name: the game pauses while the model thinks. Each cycle, the agent receives a screenshot, the player's position, and the camera angle. It chooses its next inputs, the game advances, pauses again, and the agent checks what happened.
That pause is doing enormous work, and we will come back to it.
Two honesty notes from the repo itself. First, the run was not untouched by humans in the operational sense: capacity errors interrupted it partway through, and cozyblaze resumed it and switched to Fast mode to finish. The human ops were real. The gameplay was zero. Second, the model did not play gracefully. Timing-sensitive sections fell to layered trial and error, and the final GLaDOS fight was a war of attrition between a boss that never tires and an agent that never gets bored. The credits song, sung by the AI you just destroyed, has rarely been more on the nose.
The receipt
Some arithmetic on the published numbers, all on a list-price basis:
| Unit | Cost |
|---|---|
| Per tool call (3,336 calls) | ~$0.17 |
| Per wall-clock hour (23h 43m) | ~$24 |
| Per hour of actual play (~2h) | ~$285 |
The wall-clock figure hides the structure of the thing. Only about two hours of the run were active gameplay; the edited highlight video runs roughly that length with every thinking pause cut out. The other twenty-odd hours were the game sitting frozen while the model stared at screenshots. The agent's in-game pace was, if anything, faster than a casual human's. The bottleneck was never the hands. It was the thinking.
Now the comparisons that matter. A human finishes Portal in an afternoon, and the game itself sells for about ten dollars. Autonomy, priced at list, carried roughly a fifty-fold premium over the human path. That premium is what you pay for a worker that does not sleep, does not quit, and retries the GLaDOS fight indefinitely.
Then the wrinkle that quietly rearranges the whole picture: cozyblaze did not pay the $571.18. The run was covered by a $200/month Codex Pro subscription. At flat-rate pricing, two Portal-scale runs a month already beat list price, and the theoretical floor is twenty-eight cents per agent-hour if you ran a seat around the clock. Two pricing regimes for the same tokens, a 2.8x gap at just two weekend runs, widening with every hour you use. OpenAI is simultaneously publishing token meter rates and selling all-you-can-eat autonomy, and the spread between those is a product decision disguised as a price sheet.
The flat-rate world has its own walls, though. What actually broke this run was not reasoning failure; it was capacity. If your marginal cost per agent-hour is trending toward the price of a coffee, your real constraints become throughput, rate limits, and seat availability — and indeed Sam Altman has publicly called the GPT-6 Astra rollout "messy" while enterprise users wait for access, and Plus users currently get the model only inside Work and Codex surfaces. The scarce resource is shifting from budget to slots.
Portal is the easy biome
Before you extrapolate this to your backlog, look at what Portal is as an environment. The state is fully visible. Retries are free and infinite. No action is irreversible. The solution space for a nineteen-year-old classic is exhaustively documented in training data. An agent that fails a chamber loses nothing except tokens. Cozyblaze's own framing was careful: this is a step toward OpenAI's old 2016 ambition of one agent solving many games, and many problems remain unsolved.
The contrast with the environment you actually work in is stark, and OpenAI knows it. The company's own recommended prompt for making Astra act with initiative — published in its model documentation — tells the model to work independently "unless the actions are clearly destructive or irreversible." That carve-out is the company marking, in its own handwriting, exactly where autonomy ends. Enterprise work is mostly actions that are one of those two things, with feedback that arrives days later instead of on the next frame.
What the run does establish as genuinely new is stamina. Holding a coherent plan across roughly 3,300 sequential tool calls — using Astra's updated context management to keep position, intent, and progress alive over a full day of decisions — is the part that was not possible with earlier models at any price. Persistence stopped being the missing ingredient. Pricing took over.
The same personality, in your codebase
Here is where it gets practical, because OpenAI shipped something more useful than the demo coverage suggested: a frank prompting guide for GPT-6 Astra in its model docs, describing exactly the personality you watched beat Portal.
Astra asks clarifying questions where GPT-5.6 Sol would have assumed and acted — OpenAI calls this making it "a more effective collaborator," at the cost of stopping exactly where you expected follow-through. It follows long instructions better than its predecessors but is acutely sensitive to contradictions in context files, so a messy AGENTS.md or skill file can stall work outright. On coding tasks it runs thorough test suites wildly out of proportion to small changes. It delegates to sub-agents less often than you would expect unless you spell out when and how much. And it has a documented tendency toward list-and-table formatting and stock phrasing, complete with an official blocklist of "slop words" — "delve into," "it's worth noting," "In short," made-up hyphenated compounds — that reads like OpenAI roasting its own children.
Every one of those traits has a Portal analogue. The clarifying-question bias is the thinking pause. The test overkill is the twenty hours of frozen game. The persistence through attrition is the GLaDOS fight. The model that beat a video game and the model that will touch your repository next week are the same animal, and the guide is the manual for the species. Distilled:
- Add an explicit bias-to-action instruction: treat "can you…" and "help me…" as calls to act, and ask for approval only once there is a concrete, reviewable result.
- Audit every skill file and AGENTS.md the model can read; contradictions now cause stalls, not confusion. When it stalls, use OpenAI's debugging prompt — make the model name the exact file and quote the line that stopped it.
- Cap the verification reflex on small changes: rerun tests when something new fails, not every time.
- Make delegation explicit, or it will do everything itself.
- If you want prose, say so: concise paragraphs, active voice, and hand it the slop blocklist for good measure.
There is even a migration command — openai-docs migrate this project to GPT-6 Astra — which is OpenAI admitting that adopting this model is a config change to your project, and not a trivial one.
The pattern worth stealing
The deepest idea in the repo is not the model; it is the modified pause tool. Turn real-time environments into turn-based ones. Games make this easy because a pause button exists. The engineering question in every other domain is whether you can freeze the world cheaply — sandboxes, dry-runs, shadow traffic, feature flags, draft PRs. Where you can, agents already operate like cozyblaze's setup: observe, deliberate with the clock stopped, act, verify. Where you cannot freeze the world, you are buying latency and irreversible risk at $24 per wall-hour.
And the wall-clock itself is a melting constraint. This run spent around ninety percent of its time paused, waiting on inference. The two hours of actual gameplay are the floor set by the environment; everything above that is the current price of thought. As inference gets faster and cheaper, that overhead collapses toward the floor, and a day-long run becomes an afternoon without a single capability improvement.
Read the invoice, not the leaderboard
Cozyblaze's other comment deserves to outlive the news cycle: this is "the worst model we'll ever get." The leaderboards will churn next month and the AGI argument will resolve nothing, as it always does. The metric that compounds is the one this run put on a public receipt for the first time — dollars per agent-hour of useful, persistent, unsupervised work. It is currently tens of dollars at meter rates, cents at subscription scale, and falling on both curves.
When an agent-hour costs less than the coffee the human supervising it drinks, you will not need anyone to announce the AGI era. The invoices will have done it quietly.