Squad is a Rust command-line tool that lets several AI coding agents coordinate through a shared SQLite file. Each agent (Claude Code, Gemini CLI, Codex CLI, or OpenCode) runs in its own terminal, joins with a role, and exchanges messages and task assignments by running one-shot squad commands; there is no server, daemon, or background process, and the entire protocol is the .squad/messages.db database.
squad setup installs a /squad slash command for each detected AI tool, and squad init creates the workspace, adds it to .gitignore, and appends guidance to CLAUDE.md, AGENTS.md, and GEMINI.md. Running /squad manager, /squad worker, and /squad inspector in separate terminals starts a manager that breaks a goal into tasks, workers that acknowledge and complete them, and an inspector that reviews results. Agents block on squad receive --wait until a message arrives.
Roles are Markdown files under .squad/roles/ and teams are YAML files under .squad/teams/, so you can add custom roles beyond the three built-ins. An optional tmux launcher script for Claude Code reads a task brief, generates prompt files, and opens a tiled session with /squad commands injected.
Features
- SQLite transport: all inter-agent messages and tasks live in one local database file
- Slash-command setup: squad setup installs /squad for Claude Code, Gemini CLI, Codex CLI, and OpenCode
- Built-in roles: manager, worker, and inspector, plus custom roles from Markdown files
- Task lifecycle: create, ack, complete, requeue, and list tasks with status filters
- Messaging: direct sends, @all broadcasts, reply-to threading, and --wait blocking receive
- ID auto-suffix: simultaneous joins with the same ID resolve atomically to worker, worker-2, and so on
- Capability metadata: --client and --protocol-version recorded on join and exposed via squad agents --json
- History and inspection: timestamped message history with filters, and the database opens in any SQLite client
- Optional tmux launcher: scripted multi-terminal sessions with an isolated git worktree
