Using Concord with Claude Code

August 21, 2026 · View on GitHub

1. Install

npm install -g @concord-ai/concord-mcp

2. Set up your repo

concord setup

This creates .concord/ and registers the MCP server in your project's .mcp.json:

{
  "mcpServers": {
    "concord": {
      "command": "concord-mcp",
      "env": {
        "CONCORD_REPO_ROOT": "/absolute/path/to/this/repository"
      }
    }
  }
}

It also writes a Concord block into CLAUDE.md telling the agent when to claim work, share task context, and hand off. Both merge into whatever is already there — other MCP servers and existing instructions are preserved — so it is safe to re-run. Restart Claude Code afterwards so it picks up the server.

To manage .mcp.json yourself, pass --no-mcp and register Concord by hand with the JSON above or:

claude mcp add concord -- concord-mcp

3. Use it

Ask Claude to start a task. It should call start_work before editing, update_work while working, and inspect_work when resuming or coordinating. Assignments and handoffs use transfer_work with the task's current version. Before a PR it calls finish_work with outcome: "review_ready", evidence, and the current expected_version. Check progress with:

concord status
concord doctor   # shows per-task tool adoption

Generated HANDOFF.md and REVIEW_PACKET.md land in .concord/.

concord setup installs the global concord-relay plugin. Its native monitor polls for the lifetime of an interactive session, so a line of output wakes an idle Claude session; PostToolUse and Stop hooks cover messages received while a turn is active or ending. Existing sessions need one restart after installation.