// one app, a fleet of agents

Prompt. Review. Ship.

Run coding agents side by side, each in its own worktree. Review every change in one queue.

brew install --cask shubham-1994/tern/tern-desktop

Free · macOS 12+ · Apple Silicon and Intel · CLI for Linux too

Tern · acme-web · fix-login
Tern's window: the sidebar lists acme-web's worktrees, each with its agents (one running, one waiting for approval, one ready for review), and Claude Code fixing a login bug in front.
Every worktree and its agents, at a glance.

// works with the agents you already use

16 agents: Claude Code, Codex, Gemini CLI, Cursor Agent, GitHub Copilot CLI, OpenCode, Aider, Goose, Amp, Auggie, Crush, Factory Droid, Grok CLI, Kimi CLI, Kiro CLI, Qwen Code, and any CLI agent.

// how it works

Prompt it. Review it. Ship it.

01 PROMPT

Give every task its own agent.

⌘N makes a worktree and a branch. No stashing, no collisions.

02 REVIEW

Read every change in one queue.

Comment on a diff and it goes straight back to the agent.

03 SHIP

Merge with one key.

Or push and open a pull request, right from the queue.

// small on purpose

Small binary. Big fleet.

~30MB
DAEMON MEMORY
20MB
MAC APP
12MB
CLI BINARY
0
RUNTIME DEPS

Measured on an Apple Silicon Mac. How →

// and on day two

The details that add up.

Runs

Multi-step plans that run themselves, with approvals.

Terminal UI

The same sessions in your terminal. Detach, reattach anywhere.

Your phone

Get pinged when an agent's done. Approve from anywhere.

Remote machines

tern ssh devbox drives a bigger box from here.

Conflict radar

Two tasks editing one file? You'll know before you merge.

Always on

Close the window. A tiny daemon keeps agents working.

// leave the desk

Your agents don't need you at your desk.

  • Pair your phone with a QR code.
  • Get pinged when an agent finishes or needs you.
  • Approve, answer and type. Over Tailscale, your LAN or your own relay: no Tern servers.
Tern on an iPhone: an agent asks to run a command, with Deny, Always and Allow.

// compared

Native, not wrapped.

CapabilityTernElectron agent IDEsTerminal + tmux
Native app, no Electronyesnon/a
Terminal UI for the same sessionsyesnoyes
Agents keep running when you close ityesvariesyes
A worktree per task, made for youyesyesby hand
One review queue for every changeyesvariesno
Phone access, no vendor serveryesvariesno

// questions

Before you ask.

What is Tern?

An IDE for running many coding agents at once. Every task gets its own git worktree; you review them all in one place, from a native Mac app or your terminal.

Which agents does it work with?

16 out of the box, including Claude Code, Codex, Gemini CLI, each on your own account. Any other CLI agent runs in a tab.

Is my code sent anywhere?

No. Tern runs on your machine and has no servers. Your agents talk to their providers as they always do.

Does it run on Linux?

The CLI and terminal UI do, and FreeBSD too. The desktop app is macOS-only for now.

Is it free?

Yes. Tern is closed source; every release's binaries and checksums are public.

Why does macOS warn the first time?

The app isn't notarized yet. Open it once, then choose Open Anyway in System Settings ▸ Privacy & Security.

More in the docs →

Give your agents a home.

brew install --cask shubham-1994/tern/tern-desktop