ClawTeam Multi-Agent Coordination
ClawTeam Multi-Agent Coordination
ClawTeam is a framework-agnostic CLI tool for coordinating multiple AI agents as a team. It provides team/task management, inter-agent messaging, git worktree isolation, provider-aware runtime profiles, git context injection, snapshots, and terminal-based monitoring dashboards.
All operations are performed via the oh CLI. Data is stored in ~/.oh/ by default.
Installation
pip install oh
Requires Python 3.10+. For P2P transport support: pip install oh[p2p].
Prerequisites
tmuxinstalled (default spawn backend)- A CLI coding agent such as
claude,codex,gemini,kimi,nanobot, oropenclaw - A git repository for worktree isolation and context features
- Default dependencies installed if you want the TUI wizard (
clawteam profile wizard)
Core Concepts
Teams — Named groups of agents with one leader and zero or more workers.
Inbox — File-based message queue per agent. receive is destructive; peek is not.
Tasks — Shared task board with pending, in_progress, completed, and blocked.
Tasks support dependency chains and priorities.
Profiles — Reusable client/provider/runtime configs used by spawn and launch.
Presets — Shared provider templates used to generate one or more profiles.
Context — Git/worktree-aware context tools for overlap checks, recent changes, and prompt injection.
Board — Team dashboard with kanban tasks, inbox counts, and message history views, plus gource activity visualization.
Quick Start
Set Up a Team with Tasks
export CLAWTEAM_AGENT_ID="leader-001"
export CLAWTEAM_AGENT_NAME="leader"
export CLAWTEAM_AGENT_TYPE="leader"
clawteam team spawn-team my-team -d "Project team" -n leader
clawteam task create my-team "Design system" -o leader
clawteam task create my-team "Implement feature" -o worker1
clawteam task create my-team "Write tests" -o worker2
clawteam board show my-team
Configure Runtime Profiles
# Inspect built-in provider templates
clawteam preset list
clawteam preset show moonshot-cn
# Generate a reusable profile from a preset
clawteam preset generate-profile moonshot-cn claude --name claude-kimi
# Or use the interactive TUI
clawteam profile wizard
# Claude Code on a fresh machine/home may need onboarding repair once
clawteam profile doctor claude
# Smoke-test the profile before using it in a team
MOONSHOT_API_KEY=... clawteam profile test claude-kimi
Spawn and Coordinate Agents
# Default path: tmux backend, claude command, git worktree isolation, skip-permissions on
clawteam spawn --team my-team --agent-name worker1 --task "Implement the auth module"
clawteam spawn --team my-team --agent-name worker2 --task "Write unit tests"
# Explicit backend and command
clawteam spawn tmux claude --team my-team --agent-name worker3 --task "Build API endpoints"
clawteam spawn subprocess claude --team my-team --agent-name worker4 --task "Run linting"
# Recommended for non-default providers/models
clawteam spawn tmux --profile claude-kimi --team my-team --agent-name worker5 --task "Build API endpoints"
clawteam spawn subprocess --profile gemini-vertex --team my-team --agent-name worker6 --task "Run linting"
clawteam board attach my-team
clawteam inbox send my-team worker1 "Start implementing the auth module"
clawteam board live my-team --interval 3
Spawn Defaults
| Setting | Default | Override |
|---|---|---|
| Backend | tmux |
clawteam spawn subprocess ... |
| Command | claude |
clawteam spawn tmux my-cmd ... |
| Workspace | auto (git worktree) |
--no-workspace or config workspace=never |
| Permissions | skip | --no-skip-permissions or config skip_permissions=false |
| Runtime profile | none | --profile <name> |
Use --profile whenever you need a non-default provider, model, endpoint, or auth mapping.
Task Lifecycle
# Create with dependencies
clawteam task create my-team "Deploy" --blocked-by <impl-task-id>,<test-task-id>
# Create with priority
clawteam task create my-team "Hotfix prod issue" --priority high
# Update status
clawteam task update my-team <task-id> --status in_progress
clawteam task update my-team <task-id> --status completed
# Filter tasks
clawteam task list my-team --status blocked
clawteam task list my-team --owner worker1
clawteam task list my-team --priority high
Waiting for Sub-Agents
clawteam task wait my-team
clawteam task wait my-team --timeout 300 --poll-interval 10
clawteam task wait my-team --agent coordinator
clawteam --json task wait my-team --timeout 600
Worker Loop Protocol
Workers should not stop after completing the initial --task. The expected loop is:
# 1. Check tasks assigned to you
clawteam task list my-team --owner worker1
# 2. Finish any pending work, then check for new instructions
clawteam inbox receive my-team --agent worker1
# 3. If idle, notify the leader and keep monitoring for follow-ups
clawteam lifecycle idle my-team
Repeat the loop until the leader explicitly shuts the worker down.
Git Context and Conflict Checks
clawteam context log my-team
clawteam context conflicts my-team
clawteam context inject my-team --agent worker1
Use these before reassigning work, continuing another worker's task, or merging overlapping changes.
Snapshots and Recovery
clawteam team snapshot my-team --tag before-refactor
clawteam team snapshots my-team
clawteam team restore my-team --snapshot before-refactor
Activity Visualization
clawteam board gource my-team --log-only
clawteam board gource my-team --live
Prefer --log-only in headless environments.
Supported CLI Agents
Common validated CLIs include:
claudecodexgeminikiminanobotopenclaw
OpenClaw worker spawns are normalized automatically. Bare openclaw commands are promoted to
the agent entrypoint and wired with --local, --session-id, and --message as needed.
Configure non-default providers through profile + preset instead of hardcoding env vars into prompts.
Command Groups
| Group | Purpose | Key Commands |
|---|---|---|
preset |
Shared provider templates | list, show, generate-profile, bootstrap |
profile |
Reusable client/provider configs | list, show, set, test, wizard, doctor |
team |
Team lifecycle | spawn-team, discover, status, request-join, approve-join, cleanup, snapshot, restore |
inbox |
Messaging | send, broadcast, receive, peek, watch |
task |
Task management | create, get, update, list, wait |
board |
Monitoring and visualization | show, overview, live, attach, serve, gource |
context |
Git/worktree context | diff, files, conflicts, log, inject |
plan |
Plan approval | submit, approve, reject |
lifecycle |
Agent lifecycle | request-shutdown, approve-shutdown, idle |
spawn |
Process spawning | spawn [backend] [command] |
identity |
Identity management | show, set |
JSON Output
All commands support --json for machine-readable output. Put the flag before the subcommand:
clawteam --json team discover
clawteam --json board show my-team
clawteam --json task list my-team --status pending
Important Notes
inbox receiveconsumes messages. Useinbox peekfor non-destructive reads.- Task status
blockedis auto-set when--blocked-byis specified at creation. - Completing a task auto-unblocks tasks that list it in
blockedBy. - Tasks also support
priority; usehighfor urgent unblockers and production fixes. - Workers are expected to keep polling tasks/inbox after the first task instead of exiting immediately.
clawteam spawndefaults to tmux, git worktree isolation, and skip-permissions.clawteam launchalso respectsskip_permissions, so template workers no longer stall on approval prompts.- All file writes use atomic tmp+rename to prevent corruption.
- Identity env vars are set automatically when spawning via
clawteam spawn. - Use
board attach <team>to watch all agents in a tiled tmux layout. board showJSON and the browser board now include message history with member-aware aliases, which is useful for inbox triage and handoffs.- Prefer
--profilefor non-default providers/models instead of manually exporting provider env vars. profileis the final runtime object;presetis a reusable template for generating profiles.- For Claude Code on a fresh machine/home, run
clawteam profile doctor claudeonce before spawning. context injectandcontext conflictsare the recommended way to hand off cross-worktree tasks safely.
Additional Resources
references/cli-reference.md— Complete CLI reference with commands, options, and data modelsreferences/workflows.md— Multi-agent workflows: setup, spawn coordination, join protocol, plan approval, graceful shutdown, monitoring patterns
More from hkuds/clawteam
clawteam
>
44clawteam-dev
>
35frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.
15