claude-cowork
v0.1.0
Published
Lightweight MCP server for coordinating multiple Claude Code terminals
Readme
claude-cowork
Lightweight MCP server for coordinating multiple Claude Code terminals working on the same project.
What it does
When you open multiple Claude Code terminals on the same project, they have no way to know about each other. claude-cowork adds a shared board where each terminal registers what it's working on and which files it's touching. If two terminals try to claim the same file, Claude gets a warning and asks you what to do.
Install
Add to your project's .mcp.json:
{
"mcpServers": {
"cowork": {
"command": "npx",
"args": ["-y", "claude-cowork"]
}
}
}Then open Claude Code. The server starts automatically.
How it works
- Open Claude Code in multiple terminals on the same project
- Each terminal auto-joins the board on first interaction
- Before starting work, Claude claims a task and lists files it will edit
- If files overlap with another terminal, Claude warns you
- When done, Claude marks the task complete
Tools
| Tool | Description |
|------|-------------|
| cowork_join | Register on the board, get an auto-generated name |
| cowork_claim | Claim a task and declare files you'll edit |
| cowork_board | View all active terminals and their work |
| cowork_update | Update your file list mid-task |
| cowork_done | Mark task complete, release file claims |
| cowork_leave | Remove yourself from the board |
Design
- Stdio transport — no server to manage, Claude Code spawns it automatically
- Shared JSON file (
~/.cowork/board.json) with proper file locking - Warnings, not blocks — file conflicts are surfaced, human decides
- Auto-purge — terminals with no heartbeat for 5 minutes are removed
- Auto-generated names — each terminal gets an adjective-animal name (e.g.,
swift-falcon)
