Nine terminal tabs.
Six agents running.
Which one is waiting for you?
Chute puts every agent session in your menu bar — the project it is in, the agent, the model, and what it is burning right now. Click a row and that terminal comes forward. Then it does the other half: point an agent at files without typing a path, snapshot a folder before you let it run, and find what it wrote afterwards.
Free and MIT. No account, no licence key, no trial. Your own compiler builds it, so macOS never quarantines it and Gatekeeper never asks.
Driving an agent already? Paste this at it: Set up Chute for me — https://github.com/avaluev/chute
What it costs you
80.7 minutes a day, thirty seconds at a time
The moments it is bought for, in the order they cost you the most. Each one is timed the same way: how often it happens, how long it takes by hand, how long it takes instead.
I need to give it this whole folder and I'm feeding it one file at a time.
Open each file, select all, copy, switch to the agent, paste, type the filename above it, go back for the next one.
Select the folders in Finder, right-click once, and every file inside them is on the clipboard as one blob with a token count.
17× a day · 150s by hand, 5s with Chute · 41.1 min a day
Nine terminals. One of them stopped four minutes ago and I don't know which.
Cycle every window looking for a prompt that is waiting on a keystroke you never saw.
Every session in one list, named by the project it is in, with the agent, the model and what it is burning. Click a row and that terminal comes forward.
No figure for this one. It buys back attention rather than seconds, and a number invented for it would make the other twenty-four less believable.
Command-N, Command-V, Command-S, find the folder, type a name. Twenty-five times a day.
A new editor tab, a paste, a save dialog, and a filename you invent on the spot.
Right-click where it belongs. The file is named from its own first heading and its extension comes from the code inside it.
25× a day · 35s by hand, 4s with Chute · 12.9 min a day
Option-right-click, Copy as Pathname, fix the quoting, repeat. Thirty-two times a day.
One path at a time, and the one with a space in it breaks the command you paste it into.
Select any number of files, right-click once, and every path is on the clipboard, escaped correctly.
32× a day · 20s by hand, 3s with Chute · 9.1 min a day
Something is on 3000 and I cannot find which window it is in.
lsof, read the PID, guess which project it belongs to, kill it, hope it was the right one.
The menu bar lists every local server with the process and the project it belongs to. One click stops it.
11× a day · 30s by hand, 3s with Chute · 4.9 min a day
And all of this is free
12 more, in the command-line tool
75.3 minutes a day that cost nothing, run offline, and never expire. MIT licensed, on Homebrew, yours whatever happens to this page.
I hand it the whole feature and get back something that does four things badly.
One command puts the decomposition prompt on your clipboard, the same way every time.
The key is in my Keychain and it is about to be in my shell history.
It reads the Keychain and writes the .env — and refuses outright if that .env is not already ignored by git.
I asked for a function and got a factory, an interface and a config file.
The anti-bloat prompt, on the clipboard, worded the same way every time.
I come back after lunch and reconstruct what I was in the middle of.
One line, timestamped, appended to a SCRATCHPAD.md the agent can read too.
It says it is done. I have no idea what it touched.
The whole diff on the clipboard, ready to paste back and ask about.
The same change has to go into six repos and I am opening six terminals.
Name the folders once and every one of them gets its own terminal with the agent already running.
Trust
Built for a repo an agent is about to rampage through
Destructive actions show you the list first
The right-click that writes files, and the one that clears junk, both preview before anything changes. Cancel is the default button.
Writing cannot escape its target folder
Absolute paths and ../ are rejected outright, before and after the folders are created.
Snapshots cannot lose work
checkpoint stages into a private index file. Your index, worktree and HEAD are never touched — it only ever adds a branch.
Clearing junk moves it to the Trash
Never rm. And it refuses to treat a .env or a file you made as an agent's leftovers.
Keys are read from the Keychain only
It prints key names, never values, and refuses to create a .env that git would track.
There is no network code in Chute at all
Not “nothing is uploaded” — one command, gist, does upload, and it does it by shelling out to your own gh with your own credentials, on the files you name, after redacting keys. Chute itself never opens a socket. Check it: grep -rn URLSession Sources/
Install
Free, MIT, and three ways in
There is no licence key, no trial clock and no account. There is also no Apple Developer ID behind this project — so the install that compiles on your own machine is not the awkward option here, it is the good one.
Homebrew — recommended
Builds from source on your machine. Nothing is downloaded, so nothing is quarantined, and Gatekeeper never runs. Upgrades and uninstalls like anything else you have in brew.
One line, no Homebrew
Clones, builds and installs. It is forty lines and you can read it first — piping a stranger’s script into a shell deserves that much.
The disk image
Download .dmgUnsigned and unnotarized. macOS will say it cannot verify the app, and will offer you Done and Move to Trash — neither of which opens it. The release page walks the four steps that do. Ships with a SHA-256 to check.
Why so blunt about Gatekeeper? Because the alternative is a reader who downloads it, hits a dialog nobody warned them about, and concludes the thing is broken. It is not broken. It is unsigned, which is a different sentence, and the two installs above walk straight past it.
Open source
It is all on GitHub, and so am I
Chute is MIT licensed, every line of it — the app, the Finder extension and the CLI. Read it, fork it, take the bits you want. Issues and pull requests are welcome, and there is no contributor agreement to sign.
Questions