Forkbench for Gemini CLI

The Mac terminal built for Gemini CLI

Gemini CLI is Google's open-source terminal agent, which brings Gemini into the command line to read code, run commands and make changes.

Forkbench is a Mac app for running Gemini CLI where the API key it needs is used by the command and never enters the agent's prompt, command line or transcript, and a Thread can be locked to the folders that job is about, enforced by the macOS kernel. It gets a real login shell in its own tab, and a free task board it shares with whatever other agents you run.

What breaks in a plain terminal

Gemini CLI's generous free tier makes it the agent people reach for to run alongside a paid one, and that is exactly where a plain terminal gives up. You now have two agents from two vendors, each with its own memory format, and nothing that lets one pick up where the other stopped. Quotas make it worse: you hit a limit mid-task, and by the time it resets you are not at the desk, so the window goes unused.

How Forkbench runs Gemini CLI

Keys it can use and never read

A key in Vault reaches the one command that needs it. The agent gets the result and never the value. Vault is part of Pro.

Folders it cannot wander out of

Lock a Thread to the folders the job is about. Every shell in it starts under a macOS Seatbelt profile that the kernel enforces and every process inherits, including build scripts and a dependency's install hook, so a read or a delete outside them is refused rather than discouraged. Builds still run, paths still resolve, and the network is untouched.

A real login shell

gemini launches in a genuine PTY with your shell config intact. Nothing is wrapped or proxied.

Queue it for when the quota comes back

Hand a note to a pane on a countdown and walk away, so the prompt lands when you expect the limit to have reset rather than when you happen to be at the desk. One deliberate limit: if the Mac slept past the deadline, Forkbench holds and asks instead of firing a stale command at a session that moved on.

Runs with the lid closed

Sleep Control keeps the Mac awake with the laptop shut, so a long run finishes overnight instead of stopping when the machine sleeps.

One board with your other agents

Nothing on a task records which agent wrote it, so Gemini CLI can pick up work Claude Code planned, or hand its own off when it runs out of quota.

Getting Gemini CLI running

  1. 1Open a Thread on your repo and run gemini in a tab.
  2. 2Add tabs for your other agents in the same Thread so they share one board and one set of notes.
  3. 3Grant the Thread the notes it should read. Everything is deny by default until you grant it.
  4. 4When you hit a quota, schedule the next prompt for the reset time and close the laptop. Sleep Control keeps the run alive.
  5. 5Come back to work that ran, and accept what the agents report finished.

What this does not do: Forkbench has no rate-limit detection and cannot see your remaining quota. Scheduling is a countdown you set, not an automatic retry when a limit clears.

Gemini CLI questions

Running something else?

Forkbench is agent-agnostic, so any CLI agent runs in a tab. These have a page of their own: