Canonical Published Guide: See Using Squad across clients and Squad 2.0 architecture on the published Astro docs site for the complete multi-client guide and architecture reference.
The --client flag on squad init and squad upgrade (backed by @bradygaster/squad-sdk/client; @bradygaster/squad-sdk/clients is a deprecated alias) projects native coordinator and MCP files for all 7 supported hosts: GitHub Copilot, Claude Code, Kiro, OpenCode, Cursor, OpenAI Codex, and Google Antigravity (copilot|claude|kiro|opencode|cursor|codex|antigravity|all).
Host (--client) |
Generated files | How to launch |
|---|---|---|
GitHub Copilot (copilot) |
.github/agents/squad.agent.md, .mcp.json |
copilot --agent squad |
Claude Code (claude) |
.claude/agents/squad.md, CLAUDE.md (managed block), .mcp.json, .gitignore block (.claude/worktrees/) |
claude --agent squad --mcp-config .mcp.json |
Kiro (kiro) |
.kiro/steering/squad.md (inclusion: manual), .kiro/agents/squad.json, .kiro/settings/mcp.json |
Select the squad agent in Kiro |
OpenCode (opencode) |
.opencode/agent/squad.md, opencode.json |
@squad or OpenCode task flow |
Cursor (cursor) |
.cursor/agents/squad.md, .cursor/rules/squad.mdc (alwaysApply: false), .cursor/mcp.json |
Select the squad agent in Cursor |
OpenAI Codex (codex) |
.codex/agents/squad.toml (Codex custom agent with developer_instructions), AGENTS.md (short pointer block), .codex/config.toml ([mcp_servers.squad_state]) |
Run codex in the repo |
Google Antigravity (antigravity) |
.agents/agents/squad.md (with squad_state MCP server in frontmatter), GEMINI.md (pointer block) |
agy --agent squad |
npx squad init --client claude
# or on an existing repo:
npx squad upgrade --client claude.claude/agents/squad.mdis the coordinator entrypoint (dispatches specialists viaTaskwith.squad/agents/<member>/charter.mdinlined)..mcp.jsonwiressquad_stateadditively;CLAUDE.mdis updated only inside a managed<!-- squad:begin ... -->/<!-- squad:end -->block, and.gitignoregains.claude/worktrees/under a# squad:claudecomment line.
npx squad init --client kiro.kiro/steering/squad.mdis generated withinclusion: manualso coordinator instructions are loaded on demand rather than injected into unrelated chats..kiro/agents/squad.jsonpoints tofile://../steering/squad.mdand.squad/team.md/.squad/routing.md;.kiro/settings/mcp.jsonmergessquad_stateadditively.
npx squad init --client opencode- Writes
.opencode/agent/squad.md(mode: primary) and mergesmcp.squad_stateintoopencode.jsonwithout clobbering existing model or MCP settings.
npx squad init --client cursor- Writes
.cursor/agents/squad.md,.cursor/rules/squad.mdc(alwaysApply: false), and.cursor/mcp.json. Runcursor-agent mcp enable squad_stateonce to approve the MCP server.
npx squad init --client codex- Writes the coordinator as a Codex custom agent to
.codex/agents/squad.toml(name,description, multi-linedeveloper_instructions), a short discovery pointer block toAGENTS.md(so other tools that auto-loadAGENTS.mdare not flooded), and merges[mcp_servers.squad_state]into.codex/config.toml.
npx squad init --client antigravity- Writes
.agents/agents/squad.md(declaringsquad_stateundermcpServers:in YAML frontmatter) and aGEMINI.mdpointer block. Runagy --agent squad.
Initialize all 7 hosts at once or add hosts incrementally:
npx squad init --client all
npx squad upgrade --client copilot,claude,cursor,codex,antigravity.squad/config.json stores only portable canonical slugs in clients[] (enforced by normalizeClientIds() and assertPortableClients() in @bradygaster/squad-sdk/client), and shared JSON/TOML MCP configs are merged additively without overwriting existing servers.
import { installClients, parseClients } from '@bradygaster/squad-sdk/client';
installClients(parseClients('claude,cursor,codex'), {
root: process.cwd(),
mcp: { command: 'squad', args: ['state-mcp'] },
});