Claude Squad
TL;DR
Claude Squad is an AGPL-3.0 terminal app from smtg-ai, written in Go, that runs several coding agents (Claude Code by default, plus Codex, Gemini CLI, Aider and others) in separate tmux sessions and git worktrees from one TUI. It suits developers who want parallel agent tasks with diff review before pushing.
Key facts
| Type | Orchestrator |
|---|---|
| Languages / SDKs | Go |
| License | AGPL-3.0 |
| Pricing model | Open source, free |
| Orchestration pattern | Other |
| GitHub stars | 8,551 (as of 2026-09-30) |
| GitHub forks | 621 |
| Last push | 2026-08-20 |
| Latest release | v1.0.20 |
| Repository | smtg-ai/claude-squad |
| Website | smtg-ai.github.io |
| Documentation | github.com |
| Last verified | 2026-09-30 |
Key features
- Each session gets its own tmux session and its own git worktree on a separate branch, so parallel agents do not edit the same checkout. (source)
- Any agent CLI can be launched with
-p(for examplecodex,geminior anaidercommand) or through named profiles in~/.claude-squad/config.json. (source) - The TUI has preview and diff tabs;
enterattaches to a session to reprompt it andctrl-qdetaches. (source) ccommits a session's changes and pauses it,rresumes it, andscommits and pushes the branch to GitHub. (source)- An experimental
--autoyesmode accepts prompts automatically for Claude Code and Aider; a background daemon keeps doing so for all sessions after the TUI exits. (source) - Recent releases added choosing the source branch for a new session, preset profiles and a terminal tab for shell access. (source)
Architecture and orchestration pattern
Pattern: Other
Claude Squad is a single Go binary (cs) with a terminal UI. It does not talk to models itself: each new instance starts the configured agent program (claude by default) inside a detached tmux session whose working directory is a fresh git worktree on its own branch. The TUI reads the tmux panes to show a preview and computes a diff of the worktree.
There is no coordination between agents. The person using the TUI is the orchestrator, creating sessions (optionally with a starting prompt), attaching to them to reprompt, and deciding when to commit, pause, resume or push. With --autoyes, a daemon process polls all sessions and answers their prompts so they can keep running unattended.
State is kept on disk under the config directory (~/.claude-squad/): the config file with the default program and profiles, plus JSON files listing instances so sessions can be restored after a restart; cs reset clears them. Work itself lives in the git worktrees and branches.
Human in the loop
By default every agent runs with its own permission prompts, and the user answers them by attaching to the session (enter) and detaching again (ctrl-q). Changes are reviewed in the diff tab before anything leaves the machine: c commits and pauses a session, and only s pushes the branch. The experimental --autoyes flag removes this step by accepting prompts automatically for Claude Code and Aider, including from a background daemon. Independently of that flag, the code presses Enter when a Claude Code session shows its folder-trust or "new MCP server" prompt, so those defaults are accepted without the user seeing them.
Harnesses it can drive
- Claude Code (evidence)
- Codex (evidence)
Protocols
| Protocol | Support | Note |
|---|---|---|
| MCP | Unknown | No MCP server or client is documented in the README or site. Code search for 'mcp' found only tmux.go, which auto-dismisses Claude Code's 'new MCP server' prompt; that is not MCP support. |
| A2A | Unknown | No mention of A2A in the README or project site; GitHub code search for 'a2a' returned nothing. |
| AG-UI | Unknown | No mention of AG-UI in the README, project site or code; not listed in the AG-UI README. |
Best for
- Running several Claude Code tasks in parallel on separate branches from one terminal window. (shortlist)
- tmux users who switch between Claude Code, Codex, Gemini CLI and Aider per session. (shortlist)
- Driving local models through Aider and Ollama, as in the README's profile example. (shortlist)
Not for
- Windows users: an open issue reports that the Windows binary fails when creating a session.
- Tasks that span several git repositories in one session (open feature request).
- Vendors who want to ship a modified version inside proprietary software without AGPL-3.0 obligations.
Quickstart
brew install claude-squad # Prerequisites: tmux, gh, and an agent CLI (claude is the default program)
brew install claude-squad
ln -s "$(brew --prefix)/bin/claude-squad" "$(brew --prefix)/bin/cs"
cd ~/code/my-repo # run inside a git repository
cs # n = new session, N = new session with a prompt
cs -p "codex" # use Codex instead of Claude Code
cs -p "aider --model ollama_chat/gemma3:1b"
cs -y # experimental: auto-accept prompts (Claude Code, Aider)
# In the TUI: tab = preview/diff, enter = attach, ctrl-q = detach,
# c = commit and pause, r = resume, s = commit and push the branch
cs debug # prints config paths (~/.claude-squad/config.json)
Common pitfalls
- Requires tmux and the GitHub CLI (
gh); sessions are git worktrees, so run it inside a git repository. - Homebrew installs the binary as
claude-squad; the README adds acssymlink. The install script putscsin~/.local/bin. - If you see
failed to start new session: timed out waiting for tmux session, update the agent program (for exampleclaude) to its latest version. - For Codex the README says to export
OPENAI_API_KEYfirst. --autoyesis experimental and only handles Claude Code and Aider prompts; its daemon keeps accepting prompts after the TUI exits.- Open issues: the Windows binary fails on new sessions (#275), prompts can be sent to Codex before it is ready (#266), and sessions may miss custom environment variables when an existing tmux server is reused (#277).
Pros
- Worktree-per-session isolation lets several agents work on the same repository without file conflicts. (source)
- Agent-agnostic: any CLI can be launched through
-por a profile, not only Claude Code. (source) - Diffs can be reviewed and sessions paused or resumed before anything is pushed. (source)
- Simple install: one binary from Homebrew or an install script, with tmux and the GitHub CLI as the only listed prerequisites. (source)
- Still maintained, with fix releases through v1.0.20 in August 2026. (source)
Cons
- The Windows binary fails immediately when creating a session because its PTY library does not support Windows (open issue). (source)
- One repository per session; support for multiple git repos is an open request since April 2025. (source)
- Claude Code's folder-trust and new-MCP-server prompts are accepted automatically by pressing Enter. (source)
- Prompt handling for non-Claude agents is less reliable; an open bug reports prompts lost when sent before Codex is ready. (source)
- AGPL-3.0 license, and contributions require signing a CLA. (source)
Alternatives
FAQ
Does Claude Squad support MCP?
No MCP server or client is documented. The only MCP reference in the code dismisses Claude Code's 'new MCP server' prompt automatically.
Which coding agents does it work with?
Claude Code is the default. The README documents Codex (cs -p "codex"), Gemini CLI and Aider, and any other CLI can be started with -p or a profile. The GitHub description also names OpenCode and Amp, but the README gives no setup for them.
Is Claude Squad free?
Yes. It is AGPL-3.0 licensed and no paid product is documented. Contributors must sign a CLA.
How does it keep agents from interfering with each other?
Each session runs in its own tmux session and its own git worktree on a separate branch.
What does --autoyes do?
It is an experimental flag that accepts prompts automatically for Claude Code and Aider. A background daemon keeps applying it to all sessions after the TUI exits.
Sources
- Claude Squad GitHub repository
- Claude Squad README
- Claude Squad README (docs link)
- Claude Squad website
- Claude Squad releases
- daemon/daemon.go (AutoYes daemon)
- session/tmux/tmux.go (trust prompt handling)
- Contributor License Agreement
- Issue #275: Windows binary fails on new session
- Issue #56: Enable multiple git repos
- Issue #266: SendPrompt sends text before CLI is ready