Changelog
What's new in Goatfied.
What shipped, why it matters, and how to use it. Updated as releases land — roughly weekly.
Aug 11, 2026
The small things you do all day
Tabs can be closed in bulk, the browser can reload itself, and search can be told what you never want to see.
Twenty tabs open and one of them worth keeping is an ordinary way to end an hour, and closing nineteen of them one at a time was the only way out. Right-click any tab for Close Others, Close to the Right, Close Saved and Close All; the first two are also on the keyboard, and a middle-click closes a single tab the way it does everywhere else.
The built-in browser has a reload interval next to its reload button. Pick two seconds while you are working against something that does not hot-reload, and leave it off the rest of the time. It remembers which you chose. There is also a way back to it from the keyboard, which there was not before — once it was behind an editor the only route back was the mouse.
Search has gained a second box for what to leave out. It takes the same things the include box takes, and it also takes a bare list of file types, so excluding compiled output is now typing 'd.ts, min.js' rather than working out a glob that means the opposite of what you want. It is remembered per workspace, because what you never want to see does not change between searches.
Build 2.30.2
Aug 14, 2026
A list you can tidy
Sessions you no longer want can be deleted wherever they ran, the archive drawer can be put away, and Docker's own tools are one click from the marketplace.
Every session could be filed away, and most could be deleted, but a run on our machines could only ever be filed. Test runs and false starts therefore accumulated for ever, on every machine you signed in from. Delete now works on those too, and removes the run and its transcript everywhere rather than hiding the row on the computer you happened to be sitting at. It asks first, because that is a larger thing than the word usually means, and a run that is still going is stopped before it goes.
The Archived group at the foot of the list is now something you can switch off. It stays on by default — a group you can collapse is not in the way, and a filed-away run you cannot find again has been deleted without anyone saying so — but if you archive constantly and never look back, the drawer can be shut.
Docker is in the marketplace. Its gateway puts every server in Docker's own catalog behind one connection, each of them in its own container rather than loose on your machine, which is the sort of thing that ought to be a click rather than an afternoon.
Build 2.30.1
Aug 13, 2026
A run that ends tells you why
A run on our machines that cannot start now says what stopped it instead of counting, and the recording it made plays where the work is rather than behind a link.
A run that could not begin — no access to the repository, nothing to check out — used to write a line about it and then quietly go away. Going away is not the same as finishing, so the run stayed marked as working and kept counting; one of ours reached eleven hours before anyone looked. Every way a run can end early now ends it properly, with the reason in the place you were already watching.
Only one thing used to be allowed to declare a run over, and a sweep that tidies up after runs nobody spoke for could add a second, different ending on top of the first. Two endings that disagree read worse than one that is merely bad news. A run that has already explained itself is now left alone.
When an agent drives the thing it changed, it records what it did. That recording used to be a link you had to think to click. It now plays in the conversation, next to the screenshots it took, because a diff shows the code changed and only the recording shows that it works.
Build 2.30.0
Aug 12, 2026
Runs that stop when you say stop
Stop now works whatever state a run is in, runs that end without reporting no longer sit there for hours, and a run on our machines reads exactly like one on yours.
Stop did not always stop. If a run had not started yet, or had already ended somewhere you could not see, the request was refused and nothing happened — no change, no message, nothing to act on. The states you most want to escape were the ones you could not. Stop now works from any of them, and when it cannot do what you asked it says so instead of going quiet.
A run that ended without reporting used to stay marked as running for as long as you left it, growing a duration that meant nothing. Nothing was watching for that, so nothing ever resolved it. Something is watching now, and a run that has stopped is marked stopped with a line saying what happened to it.
A run on our machines was shown in a layout of its own, for no reason other than that it had been built separately. It now uses the same view as everything else: the same header, the same goal at the top, the same rows for files read and commands run, the same box to reply in. Where it ran is a note at the bottom rather than the shape of the page.
Build 2.29.0
Aug 11, 2026
The editor catches up
The prompt field beside your code now has everything the agents window has, the sessions list sits next to it, and setting up cloud runs no longer sends you to a browser.
The prompt field in the editor had quietly fallen behind the one in the agents window. It has caught up. Typing a slash offers the commands, typing an at sign offers files, folders and the rest of your context, the up arrow walks back through what you have asked before in this project, and there is a microphone if you would rather say it than type it. The history is the same history — same person, same code, same list, whichever window you happen to be in.
Beside it, the sessions list has arrived in the editor. It is the list you already know, in the sidebar, so you can move between pieces of work without leaving the file you are reading. Renaming, pinning, ticking off and filing away all behave as they do elsewhere, and work running on our machines shows up in it too.
Setting up cloud runs has moved into Settings, where the rest of the setup lives. Preparing a machine, choosing which repositories a run may reach and capping what it can spend are all in one place now, and none of them open a browser — configuring the app no longer means leaving it.
Opening a run that had been recorded in an older format could take the window down with it. It no longer can, and a run that fails to render now says so in place rather than replacing everything around it.
Build 2.28.0