Changelog
What's new in Goatfied.
What shipped, why it matters, and how to use it. Updated as releases land — roughly weekly.
Aug 15, 2026
The card that came too early
“Continue to iterate?” was reading a cached turn as a fresh one and stopping runs long before they had cost what it said.
An agent run has one brake on it: every so often it stops and asks whether to keep going, and it decides when to ask by adding up what the run has spent. That sum ignored the cache. A long conversation is mostly the same tokens over and over — the model has read them before and charges a tenth of the price the second time — and a replay that was ninety-six percent cache reads was being counted as if every token had arrived fresh. The card therefore turned up around ten times sooner than it should have, quoting a figure nobody had spent. The gateway had known the split all along and dropped it on the way out; it now reports it, and a run is priced the way it is actually billed.
The prices themselves had drifted too. Comet, the cheap family, was listed at five times its real rate and dearer than every other option, so the cheapest runs were interrupted soonest — exactly backwards. All four families now carry the rate the gateway charges for them.
Separately, the instructions sent at the top of every request were being rebuilt each turn to name the current goal. Everything a model has cached sits behind those first tokens, so changing them threw the whole conversation away and paid to read it again, once per step. The goal was already stated in the turn itself, so saying it twice bought nothing. It reads the same and costs a fraction of it.
One more thing worth knowing about rather than discovering: when a model you picked is unavailable, the turn is no longer refused. It is answered through Auto instead, the picker moves to Auto in front of you, and the reason is written above the composer — because a substitution you cannot see is a reply you will misread against the model you thought you chose.
Build 2.30.7
Aug 12, 2026
The steps look like the work
Every kind of thing an agent does now has its own mark beside it, drawn the way your editor draws it.
A run is a list of small acts, and the fastest way to read one is not to read it — it is to glance down the left edge and see the shape of what happened. That only works if each mark means one thing. Ours had nine of them covering everything an agent can do, so a test run, a database query, a pull request and a deploy all arrived wearing the same cog, and the edge of the transcript said nothing at all.
There are now marks for the work rather than for the category it fell into: notebooks, tests, the debugger, dependency installs, deploys, symbol lookups, source control, the browser, delegated work, and notes the agent kept for itself. They are the same drawings your editor uses for the same things, at the same size, in the same column — not near-copies, which are worse than unfamiliar ones because they read as almost right.
Build 2.30.6
Aug 12, 2026
A finished turn folds itself away
Read the answer without scrolling past the work, and see a review tick actually take a file off the list.
An agent that works for two minutes leaves a long trail behind it, and almost none of it is worth reading twice. That trail was supposed to fold into a single line once the turn was over, and it had quietly stopped doing so: the reasoning between two steps counted as something to keep, and a model that thinks before every tool call put one of those between every pair of steps, so nothing ever grouped. Whole runs sat open forever and the answer was somewhere below them.
Reasoning now stays in plain sight for exactly as long as it is worth reading — while the agent is still working — and folds away with everything else once there is a result to read instead. What the agent said stays at the left edge of the conversation; what it did hangs off a rule to the right, so the two are told apart without reading either of them.
Marking a file reviewed now takes it off the list. It used to stay where it was, dimmed, which read as a tick that had not registered; reviewed files fold behind a count instead, one click from coming back. The header above them counts the same files you can see, which it had not been doing — a changeset could say three files changed above a list of ten.
Build 2.30.5
Aug 11, 2026
Bring your editor with you
Import the settings and themes you already have, and be told what could not come rather than finding out later.
Arriving in a new editor means arriving without the font you read in, the tab width you assume, and the twenty small preferences you stopped thinking about years ago. Settings can now read an existing VS Code or Cursor installation on the same machine and apply what it understands, along with the colour themes sitting in the extensions you already have installed. Your other editor is only read, never changed, and keeps working exactly as it did.
The part worth reading is what does not come across. Extensions do not run here, so they are looked at only to find the themes inside them. Custom shortcuts have nowhere to go yet. Both are said at the moment you import, with the reason, and any setting we had no equivalent for is listed back to you — a preference dropped in silence is one you rediscover a week later as an editor behaving strangely for no visible reason.
Agent file links now open on the change itself. Following a link to a file the agent has edited put you in a clean editor, leaving you to work out what moved; it now opens the diff when there is one, and the conversation stays where it was. When a change spans several files, Alt with the arrow keys walks between them without going back to the list.
Cloud runs and model usage now draw on one allowance instead of two. Machine time was tracked separately from everything else, which meant two numbers to watch and no single answer to how much of your plan is left. There is one figure now, and it counts everything.
Build 2.30.4
Aug 11, 2026
Your colours, and your diffs
Import the theme you already read code in, and decide once how every diff is shown rather than once per file.
Four palettes shipped with the editor and there was no way to add a fifth, which is a poor trade to ask of anyone who has spent years reading code in one particular set of colours. Appearance now takes a VS Code theme and uses it. Point it at the extension itself and it will find the themes inside, or at a theme's own file if that is what you have; either way it is imported, selected and kept.
Both halves of a theme are read. A theme describes its editor colours and its syntax colours separately, and taking only the second gives you the right code inside the wrong furniture. Anything a theme does not mention is left as it was, so what you get is your colours over ours rather than your colours next to a gap.
How a diff is drawn is now a choice, and one you make once. Full file keeps the untouched parts in front of you with the changes marked in them; Diff only folds them away. Split and Inline do what they say. Both are remembered and both apply wherever a diff appears, because someone who reads diffs one way reads every diff that way, and a setting that resets on the next file is one you operate all day.
Build 2.30.3