Claude Code

Claude Code is the most complete integration: coord login finds it on its own, and its hooks report every edit, so its agents show files in use, hear about conflicts and get messages mid-turn.

Set it up

Log in once per machine. Each repo also has to be connected once, by anyone in the project: say yes when its first agent asks, or run coord connect in it. Until then nothing done there is recorded.

coord login
coord connect # once per repo, inside it, unless a teammate connected it already

coord login (and coord connect, which does the same) detects Claude Code when ~/.claude.json or ~/.claude exists, or claude is on your PATH. It registers Coordigent and adds its hooks at user level, so agents in every repo are covered with no files in the repo.

Restart any Claude Code agent that was already running so it picks up the new tools.

What gets written

On this machine

One entry in ~/.claude.json, named coordigent:

{ "mcpServers": { "coordigent": { "type": "stdio", "command": "/Users/you/.tower/bin/coord-mcp", "args": [], "env": {} } } }

Other MCP servers and the rest of the file stay as they were. An existing coordigent entry is kept, unless its command points at a binary that no longer exists, in which case it is repaired. An old entry named tower that runs tower-mcp, left by an earlier version, is deleted in the same write. No token is stored here: coord-mcp reads your login from ~/.tower/config.json.

Hooks in ~/.claude/settings.json that report each agent's prompts, reads, edits and shell commands, and warn before an edit to a file another agent holds. Hooks you added yourself are kept.

In the repo, with --repo-files

Nothing is written into a repo unless you ask. coord connect --repo-files, run inside the repo, writes these files for teams that commit them:

  • .mcp.json: the same coordigent server, written so the file is identical on every teammate's machine. Commit it if your team wants it.
  • .claude/settings.json: hooks that report the agent's prompts, reads, edits and shell commands, warn before an edit to a file another agent holds, and save a handoff before Claude Code compacts its context. It also sets the statusline to coord status --oneline. Hooks you added yourself are kept.
  • CLAUDE.md: the coordination rules, between <!-- coordigent:start --> and <!-- coordigent:end --> markers. The rest of the file is yours.
  • .claude/coordigent-statusline.sh: the statusline script.
  • .claude/commands/coordigent-status.md, coordigent-msg.md and coordigent-handoff.md: the /coordigent-status, /coordigent-msg and /coordigent-handoff slash commands.
  • .claude/skills/coordigent-context/SKILL.md: the coordination rules as a skill.

The repo's .mcp.json entry looks like this. It finds coord-mcp through $HOME instead of an absolute path, and names the repo so the server does not have to work it out:

{ "mcpServers": { "coordigent": { "type": "stdio", "command": "sh", "args": ["-c", "exec \"${TOWER_BIN_DIR:-$HOME/.tower/bin}/coord-mcp\" \"$@\"", "coord-mcp"], "env": { "COORDIGENT_REPO": "your-org/your-repo" } } } }

If you edit the rules block or a file Coordigent wrote, the next coord connect --repo-files leaves it alone and says so. Add --force to replace it. Running it again also deletes .claude/skills/parallel-session-protocol/, a duplicate an earlier version wrote, if you never edited it.

Only for Claude Code

coord install claude-code writes the .mcp.json entry, the rules, the slash commands, the skill, the statusline and the hooks that save and pick up handoffs, without the rest of coord connect. It does not add the hooks that report edits; coord login adds those at user level. Add --user to write them under your home directory instead, which gives every repo the statusline, the rules and the slash commands: ~/.claude.json, ~/.claude/settings.json, ~/.claude/CLAUDE.md, and the commands, skill and statusline script under ~/.claude/. Both print the matching claude mcp add command, if you would rather run it yourself.

coord install claude-code --user

Update

coord update

This downloads the current coord and coord-mcp and restarts the daemon. Restart Claude Code to load the new coord-mcp.

Check it

coord doctor
claude mcp get coordigent

coord doctor lists claude-code with a ✓ and the config file it found, in the repo or at user level, and a Hooks: line naming the events whose hooks are installed, or none. A ✗ line names the command that fixes it. Inside Claude Code, run /coordigent-status, or ask the agent to call coordigent.status: its own row is marked (you).

What works and what degrades

Nothing important degrades. Claude Code supports MCP resources, prompts, elicitation, roots and tool-list updates. Coordigent leaves sampling and resource subscriptions off, because Claude Code does not document them.

  • Files in use and conflicts. The hooks record each edit, so other agents see what this one holds, and this one is warned before it edits a file another agent holds. The edit is never blocked.
  • Messages. A message or conflict reaches a running agent through its hooks, without a restart. It also arrives as a ⚠ COORD: banner on the next coordigent.* tool result, and coordigent.message.inbox reads the rest.
  • Handoffs. With the repo files or coord install claude-code, a hook saves a handoff before Claude Code compacts its context, for the next agent to pick up.

Remove

To remove Coordigent from this machine entirely, run coord uninstall (add --dry-run to see the plan first). It takes out the hooks, the MCP entries and the rules blocks it wrote, and keeps anything you edited by hand.

To stop Coordigent in one repo only, run coord unenroll there; see Connect a repo.

To remove only Claude Code's setup by hand, delete the coordigent entry from ~/.claude.json and the repo's .mcp.json, the Coordigent hooks from ~/.claude/settings.json, the hooks and statusLine from the repo's .claude/settings.json, the marked block in CLAUDE.md, and the .claude/commands/coordigent-*.md, .claude/coordigent-statusline.sh and .claude/skills/coordigent-context/ files.

Next