Skip to content
Goatfied

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

A step that failed now says so

When a tool failed, the agent was handed the failure in exactly the place a result normally goes — so it sometimes read the failure as the answer and reported work that never happened.

A tool that succeeds returns text. A tool that fails also returned text, in the same field, with nothing to tell the two apart. Only failed file writes were called out; everything else — a query that errored, a fetch that timed out, a command that exited non-zero — arrived looking like an ordinary answer. Every failure is now labelled as one, on its first line, whether it ran on its own or alongside seven others.

Some commands were also being let go too early. A command was read as a server if the letters of a server's name appeared anywhere in it, so an ordinary script whose name merely contained them was started, watched for three seconds and reported as running — long before it had done what it was asked to do. Those signatures now have to match whole words.

A command that had to be stopped could also leave its card spinning for hours afterwards if anything it had started still held the output open. It now closes when the command does.

The status line at the foot of a running session used to repeat the whole command already shown above it, wrapped across several lines. It says what is happening and leaves the detail to the card. The nudge asking whether a long-running agent was stuck is gone too; it fired on the clock rather than on evidence, and the notice that does check is still there.

Build 2.22.0

Aug 11, 2026

One dot per session, and it means something

Every session row carried two coloured dots and neither had a key. There is now one, and it answers a single question: what is this agent doing right now?

Green means the agent is sitting still. Blue and pulsing means it is working. Red means it stopped on an error. Amber is new and is the one worth watching for: the agent has asked you something — a question, a confirmation, a permission — and will not move until you answer. Sessions in that state also collect under Needs Attention, which until now only meant failures.

The second dot used to mark output you had not read. That is now carried by the session's name instead, which is where the unread text actually is, and leaves the leading edge to say one thing.

The mark showing how far a session's work has got also reaches more sessions. It used to measure the folder you opened, which is often a folder of repositories rather than a repository — in which case there was nothing to report. It now follows the files the session actually edited to the checkout they belong to.

Build 2.21.0

Aug 11, 2026

A session tells you where its work stands

Each session in the sidebar now shows how far its changes have got — edited, committed, pushed, in review, merged — without you opening it.

An agent that has been working for ten minutes has left something behind, and until now the only way to find out what was to open the session and look. Every session with a checkout of its own now carries a small mark for the stage its work has reached: changes still sitting in the folder, commits that have not left this machine, everything pushed, a pull request in draft or waiting on review, merged, or closed without merging. Hovering names the branch, counts the commits, or gives the pull request number.

The four review marks use the shapes and colours you already know from a pull request page, so a green mark means the same thing in the sidebar as it does in a browser tab. Everything before review stays plain, and a session with nothing to push, in a folder with no remote, shows nothing at all rather than a warning you cannot act on.

Because it is one journey rather than a set of flags, exactly one mark shows at a time, and work that is still on your disk takes precedence over work that is in review — a session with an open pull request and fresh edits tells you about the edits, since the pull request does not have them yet. The PR filters in the sessions menu now filter by the same reading; before this they matched nothing.

Alongside it, the word Local has gone. A session running on a remote machine carries a cloud mark; a session without one is on this machine, which is the ordinary case and did not need saying.

Builds 2.20.0, 2.19.0

Aug 9, 2026

The sidebar stops listing your repositories twice

Sessions already group by repository, so the separate Repositories list has gone and the space has gone to your sessions.

The sidebar used to draw your repositories twice: once as headings over the sessions inside them, and again as a list underneath. The list is gone. Grouping keeps the job, and the sessions get most of the height it was using. The two buttons that sat beside it — the one that opens or clones a repository, and the one that groups and filters — now sit beside Sessions, next to the work they act on. Closing a repository moved into the first of those menus.

Grouping by repository used to be the same thing as grouping by workspace under a different name; both listed folders. Repository now means the repository: two checkouts or worktrees of one project gather under a single heading instead of reading as unrelated folders. Workspace still groups by folder, for when that is the distinction you care about.

Small things around a session followed. A group you are working in offers a plus to start another session in the same repository without leaving the list. Pinning moved to the front of the row you are on, where it reads as something you can press rather than something hidden until you hover. Sessions running on a remote machine carry a cloud mark that stays put, because where a session's files live is worth knowing at a glance. And Customize is now called Marketplace, which is what it has been for a while.

Build 2.18.0

Aug 12, 2026

Commit the way you actually work

A new Git, Commits & PRs settings page decides what happens between an agent finishing and the work reaching a branch — including doing all of it for you.

Two people can use Goatfied in opposite ways and both be right. One reads every hunk before anything is committed and wants a branch per session. Another describes the task, trusts the result, and wants it committed and pushed without ever opening a diff. Until now the app had one opinion and everyone else worked around it.

Settings has a new Git, Commits & PRs page. The big button at the bottom of a session now does whatever you tell it to — commit, commit and push, branch and push, or open a pull request — with the rest still one click away in its menu. Commit messages can be written by the model from the diff instead of listing filenames. And if you would rather not press anything at all, the app can run any of those actions automatically the moment a session finishes, skipping runs that failed or changed nothing.

The same page decides what the review list does. Files you have ticked off can stay listed and dimmed, fold into a group, or disappear; the changes bar itself can go once you have been through everything; and the change count beside a session in the sidebar can show the whole session or only what is left to look at. Undo now counts properly in all of them — a file you have undone leaves the list and stops being counted, because those lines are no longer anywhere on disk.

Attribution moved here too, and now does something. The commit and pull request toggles have been in Settings for a long time without writing anything; they work from this release, they are off by default, and you choose which trailer they add — a plain “Made with Goatfied” note, or the Co-authored-by form that GitHub reads into contributor lists. Nothing is added to your commits unless you ask for it.

Build 2.17.0

Changelog · Page 9 · Goatfied