Lightweight inter-agent coordination SOP for Claude Code worktrees A developer published a lightweight inter-agent coordination SOP that lets multiple Claude Code sessions running in separate Git worktrees exchange SHA-pinned handoffs, acknowledgments and review phases without a human relaying messages between windows. The system stores immutable message and ack files under the repository's shared .git directory via a small `coord` CLI (send, handoff, inbox, read, ack, status), deliberately avoiding databases, daemons, MCP servers or background pushes, and keeps communication strictly separate from project authority such as merge, release and acceptance decisions. A practical SOP for letting multiple Claude Code sessions in Git worktrees communicate directly, exchange SHA-pinned handoffs, and preserve blind/released review phases without making the human owner act as the clipboard. This is designed as a lightweight transport and visibility layer, not a full agent orchestration framework. You are Primary for a multi-worktree, multi-agent project. SET UP A LIGHTWEIGHT INTER-AGENT COMMUNICATION SYSTEM. MODEL RECOMMENDATION: Use Claude Opus 5.5 for implementing, testing, and integrating this coordination infrastructure. Do not spend the strongest research/reasoning model on this plumbing unless a genuinely difficult design problem emerges. GOAL Agents in separate Git worktrees must be able to communicate, hand off exact artifacts, acknowledge messages, and continue work without the owner manually copying messages between Claude Code windows. The system must also support controlled information silos such as: - W1 may communicate with Primary. - W2 may communicate with Primary. - W1 and W2 may be kept blind from each other. - W3 may be blocked from W1/W2 results until an explicit release. - After release, W3 may challenge W1/W2 and they may reply. - Historical private traffic must remain private even after release. This is a TRANSPORT AND VISIBILITY layer. It is NOT the project's authoritative work-state machine. The project's existing STATUS / ledger / protocol remains authoritative for: - assignments; - experiment/work-item state; - freeze state; - release authority; - acceptance; - merge authority; - claim status; - owner decisions. Communication carries evidence. Communication does not confer authority. ================================================== 1. ARCHITECTURE ================================================== Use one Git repository with separate worktrees, for example: Primary W1 W2 W3 Agents communicate through a small CLI: bin/coord Required commands: coord send coord handoff coord inbox coord read coord ack coord status status is READ ONLY. Do NOT implement separate coord-owned commands for: - init; - freeze; - release; - experiment state transitions; - claim acceptance. Those belong to the canonical project protocol. Do NOT build: - Supabase; - database server; - dashboard; - daemon; - watcher; - MCP server; - hidden coordination branch; - background Git pushes; - agent group chat. 1. STORAGE Store coordination traffic outside normal Git history in the repository's shared .git directory so all worktrees can access it. Example: .git/coord-lite/