Forkbench: the Mac app where your coding agents use keys they never see
Claude Code, Codex, Gemini CLI, your own scripts.
Your agent gets the result.
Never the key.
Coding agents grep everything and carry what they find into a prompt, a log, and sometimes a commit you can’t take back. Keep your keys in Vault and they run the command without the value ever reaching them.
Nothing an agent reports is done until you accept it.
No card, and the app is yours to keep when they are up. Runs on your Mac, on the AI subscriptions you already pay for.
Free .dmg · v1.7.28 · macOS 13+
It all stays on your Mac.
Your repos, terminal history, and code never leave the machine, and your agents run on the AI subscription you already pay for.
The board doesn’t ask which agent.
Nothing on a task records who wrote it, so a task Claude wrote this morning is claimable by a Codex pane this afternoon.
Nobody marks their own homework.
An agent can’t verify or close its own work. It reports a task finished; it counts as done when you accept it.
Organize your terminal tab sessions and review git state in a single window.
What a Thread carries
A board, your notes, your keys,and a way in from your phone.
Every Thread keeps its own: one objective and a backlog its agents claim, the notes you have handed it, the keys they can use without ever reading, and a link to answer a blocked one from anywhere.
01 · Collaboration
Close the terminal. The work is still there.
Every Thread carries a board: one objective, a live backlog, and the agents working it. Close a pane, quit, or reboot and the tasks, the progress notes and the blockers are exactly where they were. Nothing on a task records which agent wrote it, so one Claude wrote this morning is claimable by a Codex pane this afternoon. Agents start work themselves and can never close it: an agent reports a task finished, and it counts as done when you accept it. The same board reaches your other Macs and anyone you invite, each on their own agents, at the level you give them.
- One objective, split into a live backlog agents claim and hand off
- Nothing on a task records which agent wrote it, so any of them can claim it
- Close the pane and the claim releases at once; the task and its notes stay
- Quit the app or reboot, and the board is exactly where you left it
- A disagreement becomes a discussion on the task, and the task can't close while it's open
- An agent can never verify its own work; only you can grant that authority
- They report a task finished; it counts as done when you accept it
- Invite a colleague onto the board and they work it from their own Mac, on their own agents
02 · Vault
Secrets your agents use, but never see.
Your API keys, tokens and passwords go in once. After that an agent can run any command that needs one and never hold the value: not in the prompt, not on the command line, not in the transcript. Tell a key where it is allowed to be used and the agent never receives it at all. Leave that blank and it still stays out of the prompt and the transcript, but the program you ran can read it, so that one is a seatbelt rather than a guarantee. Your keys follow you to every Mac you let in, and the moment you remove one, what it had stops working.
- Agents run commands with your keys and never see the value
- Never in a prompt, on a command line or in a transcript
- Require Touch ID on every use, or let a grant stand while you work
- A copied disk gives up nothing without the Mac it came from
- On every Mac you let in. Remove one and what it had stops working
- Give a key a destination and the agent never receives it at all. Without one, the program you ran can still read it
03 · Notebooks
Written once, read by every agent that needs it.
Your briefs, conventions and decisions live in one place, filed by notebook. Write a note once and hand it to an agent the moment it needs it, instead of pasting the same context into every prompt. You choose what each thread can see. End to end encrypted, on every Mac you sign in on.
- Write it once, hand it to any agent that needs it
- Filed by notebook; grant a note or a whole notebook to a thread
- You choose what each thread sees: read or read-write
- End to end encrypted, on every Mac you sign in on
04 · Talk
It gets stuck at 11pm. You are not at the Mac.
Check on any thread from the web and answer a blocked agent from your phone, whichever vendor's agent is in the pane. It attaches to a conversation already open on your Mac rather than starting a new one. To reach your browser that conversation passes through us, which your notes and your keys never do. Raw tool output and scrollback stay on the Mac, and what does travel is dropped a few minutes after the pane goes quiet.
- Check on any thread from any browser
- Answer a blocked agent from your phone, whichever vendor it is
- It attaches to a conversation already open on your Mac, it never starts one
- The conversation passes through us to reach the browser, which your notes and your keys never do
- Raw tool output and scrollback stay on the Mac
In the window
While they work,you watch.
Every tab is a real login shell, so your agents run exactly as they would anywhere else. What changes is your side of it: the tabs, the folder bar and the git panel keep you current on where work is happening and what it changed, without you having to ask anyone.
- Your agent pushes, deploys and calls the paid API, and never holds a single one of your keys. A seatbelt, not a guarantee: authorise a command and the agent can still print whatever that command hands back.
- Invite a colleague to a thread and their agents work with its keys, without a value ever changing hands in a chat window. Rotate one later and their copy follows. Take them off and what they had stops working.
- Keep your briefs, conventions and decisions as notes, filed by notebook. Hand one to an agent the moment it needs it and it starts with everything you would otherwise be retyping into the prompt.
- The bar under the terminal lists every folder you have work running in. One click and you are in it, with the tab and the panel following you there.
- The panel follows the tab you are focused on, so you watch the work land instead of asking what it did. Stage, diff and commit are right there when you want them, without typing git or opening a second app.
- Out of tokens until the small hours? Write the next prompt now and hand it to a pane with a countdown on it. It runs the moment your limit comes back, and you read the result over coffee. Any prompt or command can go on a countdown like that, limit or no limit. If the Mac slept past the deadline it holds and asks first, rather than firing a stale command at a session that moved on.
- Run as many as you like, each in its own tab on a real login shell. Group the related ones into a Thread and its folder, notes and keys stay with it, so work in one context never bleeds into another.
- Keep the Mac awake with the laptop shut so a long test loop finishes overnight. It stays reachable while it runs, so whatever you use to check in on it still answers. You come back to work that ran, not to a machine that went to sleep at midnight.
- tmux, vim, fzf, lazygit, your shell, your aliases. Forkbench sits underneath, not in the way.
Who it's for
Built for the part that is still your job.
- Your agent has to push, deploy, or call a paid API, and you are not pasting the token into a prompt to make that happen. It runs the command, gets the result, and never holds the value.
Agents with real credentials
- You run Claude Code and Codex because they are good at different things, and you are not signing up to be locked to either. Nothing on a task records which agent wrote it, so work moves between them without being re-explained.
Two vendors, on purpose
- The pane closes, the Mac reboots, or somebody else picks it up tomorrow. The plan, the progress notes, the blockers and the discussion that settled a question are all still there, for you or for whichever agent opens next.
Work that outlives the session
FAQ
Frequently asked.Briefly answered.
Hand over the work.Keep the keys.
Make an account, download the app, and the 30 days start. No card, and the app is yours to keep after. macOS 13+.