Status: Beta

Orchestrate your agent CLIs,
not your terminal tabs.

CommandMate is a local control plane for agent CLIs.

npx commandmate@latest

From install to your first session in 60 seconds.
macOS / Linux / Windows (WSL2) · Node.js v22+ · npm · git · tmux

CommandMate desktop dashboard listing worktree sessions and their status

What it gives you

Parallel issue development

One session per Git worktree, running in parallel. Multiple issues progress simultaneously without interfering with each other.

Steer from your phone

Full session control from any browser. Monitor and steer from your desk or your phone — review changes, answer prompts, send a screenshot with "fix this".

Across agent CLIs

Choose Claude Code, Codex, Gemini, or local models per issue. CommandMate adds orchestration on top of the CLIs you already use — it does not replace them.

Runs 100% locally. No external server, no cloud relay, no account required — the only network traffic is the agent CLI's own API calls.

Quick start, in 60 seconds

Two ways in. Take Track A to see it working, Track B once you keep coming back.

Track A

Just try it

One command, nothing installed first. There is nothing else to type — it runs all four steps below for you.

npx commandmate@latest
  1. Checks your dependencies

    Node.js, npm, git and tmux. Stops with an install hint if one is missing.

  2. Asks the setup questions

    Repository root, port, external access, database path.

  3. Starts the server in the background

    Then waits until it actually answers.

  4. Opens your browser

    At http://localhost:3000, once the server is ready.

Step 2 is first-run only. Run it again later and it goes straight to the UI.

Track B

Install it for daily use

Track A runs the server out of npm's cache, where a later npx can swap the files under it. A global install gives a long-running server somewhere stable to live.

  1. Install globally

    npm install -g commandmate
  2. Answer the setup questions

    First run only, and skipped entirely if you already have a .env.

    commandmate init
  3. Start in the background

    Keeps serving after you close the terminal.

    commandmate start --daemon

Either track leaves a server running in the background. commandmate status tells you whether one is up, and commandmate stop shuts it down.

Then try it on a real repository

A small repo with two failing tests left in on purpose. Hand it to an agent and you will have used the whole loop — a session, a proxied dev server, and two worktrees running side by side — in about ten minutes.

https://github.com/Kewton/commandmate-tutorial.git

Paste it into Repositories → Add Repository → Clone URL, then follow the four-step tutorial. No install, no dependencies.

The same control plane in your browser, whichever screen you are on.

How it compares

Feature CommandMate Remote Control (Official) Happy Coder claude-squad Omnara
Auto Yes Mode YesNoNoYes (TUI only)No
Git Worktree Management YesNoNoYes (TUI only)No
Parallel Sessions YesNo (1 only)YesYesNo
Mobile Web UI YesYes (claude.ai)YesNoYes
File Viewer YesNoNoNoNo
Markdown Editor YesNoNoNoNo
Screenshot Instructions YesNoNoNot possibleNo
Scheduled Execution YesNoNoNoNo
Survives Laptop Close Yes (daemon)No (terminal must stay open)YesYesYes
Token Authentication YesN/A (Anthropic account)N/A (app)NoN/A (cloud)
Free / OSS YesRequires Pro/MaxFree + PaidYes$20/mo
Runs 100% Locally YesVia Anthropic APIServer-routedYesCloud fallback

Start in one command

npx commandmate@latest