swarmclaw
Overview
SwarmClaw is a self-hosted AI agent orchestration platform. This skill gives you CLI access to manage agents, tasks, chats, chatrooms, missions, schedules, memory, wallets, connectors, autonomy controls, webhooks, extensions, knowledge, and more across one or many SwarmClaw instances.
The CLI maps 1:1 to the SwarmClaw REST API. Every command follows the pattern:
swarmclaw <group> <action> [id] [--flags]
Install the CLI:
npm i -g @swarmclawai/swarmclaw
Setup
- Install:
npm i -g @swarmclawai/swarmclaw - Set env var:
export SWARMCLAW_ACCESS_KEY=<your-key>(shown in terminal on first run) - Default URL:
http://localhost:3456— override withSWARMCLAW_URLor--base-url - Full docs: https://swarmclaw.ai/docs
Output Modes
Use machine-readable output when parsing results:
--json— structured JSON output (preferred for all API-mapped commands)--raw— plain text output (legacy commands)
Filter results with --query key=value:
swarmclaw tasks list --json --query status=in_progress
swarmclaw memory list --json --query agentId=abc123 --query q=pricing
swarmclaw runs list --json --query sessionId=xyz --query limit=10
Core Commands
Agents
Manage your agent fleet — create, configure, monitor, and clone agents.
# List all agents
swarmclaw agents list --json
# Get full agent details
swarmclaw agents get <agentId> --json
# Create an agent (pass JSON body via --data)
swarmclaw agents create --data '{"name":"Research Bot","provider":"anthropic","model":"claude-sonnet-4-20250514"}' --json
# Update agent config
swarmclaw agents update <agentId> --data '{"name":"Updated Name","soul":"You are a research assistant"}' --json
# Get live agent status (running chats, current task, etc.)
swarmclaw agents status <agentId> --json
# Clone an agent with all its config
swarmclaw agents clone <agentId> --json
# Bulk update multiple agents
swarmclaw agents bulk-update --data '{"ids":["id1","id2"],"changes":{"provider":"openai"}}' --json
Other: delete, trash, restore, purge, thread
Tasks
Create, assign, and track work items on the task board.
# List all tasks (filterable by status, agent, project)
swarmclaw tasks list --json
swarmclaw tasks list --json --query status=in_progress --query agentId=<id>
# Create and assign a task
swarmclaw tasks create --data '{"title":"Analyse competitor pricing","description":"Research and compare competitor pricing strategies","agentId":"<agentId>"}' --json
# Get task details
swarmclaw tasks get <taskId> --json
# Update task status or fields
swarmclaw tasks update <taskId> --data '{"status":"completed"}' --json
# Get task board metrics (24h, 7d, or 30d)
swarmclaw tasks metrics --json --query range=7d
# Import GitHub issues as tasks
swarmclaw tasks import-github --data '{"repo":"owner/repo","labels":["bug"],"agentId":"<id>"}' --json
# Bulk update tasks
swarmclaw tasks bulk --data '{"ids":["id1","id2"],"changes":{"status":"todo"}}' --json
Other: delete, approve, claim, purge
Chats
Manage agent chat sessions — create, send messages, stream responses, and control execution.
Terminology:
chatsin the CLI = "sessions" in the SwarmClaw UI. Both refer to the same thing.
# List chats
swarmclaw chats list --json
# Create a new chat for an agent
swarmclaw chats create --data '{"agentId":"<agentId>"}' --json
# Send a message and stream the agent response (SSE)
swarmclaw chats chat <chatId> --data '{"message":"Give me a status update"}' --json
# Get chat message history
swarmclaw chats messages <chatId> --json
# Stop a running chat
swarmclaw chats stop <chatId> --json
# Clear chat history
swarmclaw chats clear <chatId> --json
# Append a user message without triggering a response
swarmclaw chats messages-send <chatId> --data '{"role":"user","content":"Note: budget is $5000"}' --json
Other: get, update, delete, delete-many, edit-resend, retry, queue, queue-add, queue-clear, heartbeat-disable-all, deploy, devserver, checkpoints
Chatrooms
Multi-agent collaborative spaces where multiple agents discuss and work together.
# List chatrooms
swarmclaw chatrooms list --json
# Create a chatroom
swarmclaw chatrooms create --data '{"name":"Strategy Room","description":"Multi-agent planning"}' --json
# Add agents to a chatroom
swarmclaw chatrooms add-member <chatroomId> --data '{"agentId":"<agent1>"}' --json
swarmclaw chatrooms add-member <chatroomId> --data '{"agentId":"<agent2>"}' --json
# Send a message — all member agents respond
swarmclaw chatrooms chat <chatroomId> --data '{"message":"What should our Q2 strategy be?"}' --json
# Remove an agent from the chatroom
swarmclaw chatrooms remove-member <chatroomId> --data '{"agentId":"<agentId>"}' --json
Other: get, update, delete, react, pin, moderate
Schedules
Automate recurring agent work on a cron schedule.
# List schedules
swarmclaw schedules list --json
# Create a schedule (cron syntax)
swarmclaw schedules create --data '{"name":"Daily Report","agentId":"<id>","cron":"0 9 * * *","message":"Generate the daily summary report"}' --json
# Update schedule
swarmclaw schedules update <scheduleId> --data '{"enabled":false}' --json
# Trigger a schedule immediately
swarmclaw schedules run <scheduleId> --json
# Delete a schedule
swarmclaw schedules delete <scheduleId> --json
Memory
Store and retrieve long-term agent memories for context persistence.
# List memories (searchable)
swarmclaw memory list --json
swarmclaw memory list --json --query q=pricing --query agentId=<id>
# Create a memory entry
swarmclaw memory create --data '{"agentId":"<id>","content":"Client prefers formal tone","type":"preference"}' --json
# Update a memory
swarmclaw memory update <memoryId> --data '{"content":"Updated content"}' --json
# Delete a memory
swarmclaw memory delete <memoryId> --json
# Analyse memory for dedup/prune candidates
swarmclaw memory maintenance --json
# Run the maintenance (dedupe/prune)
swarmclaw memory maintenance-run --json
Other: get, graph
Missions
Durable multi-step mission execution with control actions.
# List missions (filterable by status, phase, agent, project)
swarmclaw missions list --json
swarmclaw missions list --json --query status=active --query agentId=<id>
# Get mission detail
swarmclaw missions get <missionId> --json
# Get mission event timeline
swarmclaw missions events <missionId> --json
# Run a mission control action (resume, replan, retry_verification, wait, cancel)
swarmclaw missions action <missionId> --data '{"action":"resume"}' --json
swarmclaw missions action <missionId> --data '{"action":"cancel"}' --json
Search
Global cross-resource search across agents, tasks, chats, schedules, webhooks, and skills.
swarmclaw search query --json --query q=pricing
System Status
Lightweight health endpoint (v1.2.0+). Safe for external monitors and quick checks.
swarmclaw system-status get --json
More Commands
These groups are available but used less frequently by agents. Use swarmclaw <group> --help for full details.
| Group | Description | Key commands |
|---|---|---|
| connectors | Chat connectors (Discord, Slack, Telegram, etc.) | list, get, create, update, delete, start, stop, repair, health, doctor |
| autonomy | Supervisor incidents, reflections, emergency stop | incidents, reflections, estop, estop-set, guardian-restore |
| approvals | Human-in-the-loop approval gates | list, resolve |
| webhooks | Inbound webhook triggers and delivery history | list, get, create, update, delete, trigger, history |
| wallets | Agent wallets and transaction management | list, get, create, update, delete, send, approve, transactions, balance-history |
| providers | LLM provider configs and model overrides | list, get, create, update, delete, configs, ollama, models, models-set |
| gateways | OpenClaw gateway profiles and health checks | list, create, update, delete, health |
| credentials | Encrypted provider credentials | list, get, create, delete |
| secrets | Encrypted secret vault | list, get, create, update, delete |
| notifications | In-app notification center | list, create, clear, mark-read, delete |
| extensions | Extension marketplace and config | list, set, install, marketplace, settings-get, settings-set, builtins |
| skills | Reusable skill management | list, get, create, update, delete, import |
| learned-skills | Agent-scoped learned skill review | list, promote, dismiss, delete, review-counts |
| knowledge | Knowledge base entries and document upload | list, get, create, update, delete, upload |
| projects | Project grouping for agents and tasks | list, get, create, update, delete |
| runs | Chat run queue and execution history | list, get, events |
| activity | Activity feed events | list (supports --query entityType=, --query action=) |
| daemon | Background daemon lifecycle | status, start, stop, health-check |
| logs | Application logs | list (supports --query lines=200, --query level=INFO), clear |
| setup | Diagnostics and provider validation | doctor, check-provider |
| documents | Document management and revisions | list, get, create, update, delete, revisions |
| uploads | Uploaded artifact management | list, get, delete, delete-many |
| clawhub | Browse and install ClawHub skills | search, preview, install |
| openclaw | OpenClaw gateway control, deploy, sync (30+ subcommands) | discover, gateway-status, deploy-*, remote-*, skills, sync |
Rules
- Always verify an agent ID exists by running
agents listbefore creating tasks for it. - Never pass the access key as a CLI argument in visible output — rely on the
SWARMCLAW_ACCESS_KEYenv var. - If the SwarmClaw instance is unreachable, run
swarmclaw setup doctor --jsonand report the findings before retrying. - When the user says "dispatch work", "get X agent to do Y", or "assign this to", use
tasks createto assign the work. - When the user asks "what's running", "agent status", or "what are my agents doing", combine output from
agents listandchats listto give a full picture. - For complex multi-step orchestration, create individual tasks rather than chaining commands.
- Prefer
--jsonoutput mode for all commands. Use--rawonly for legacy commands that don't support--json. - Do not run commands that modify or delete agents without explicit user confirmation.
- Use
system-status getfor quick health checks — it's lightweight and safe for repeated polling. - Use
search query --query q=<term>to discover resources across agents, tasks, chats, schedules, and skills. - The CLI group
chats= "sessions" in the SwarmClaw UI. The legacysessionsalias is no longer available; always usechats. - Use
autonomy estop-setto engage emergency stop across all autonomous agents when safety action is needed.
Examples
Dispatch work to another agent
User says: "Get my research agent to analyse competitor pricing"
swarmclaw agents list --json
# Find the research agent's ID from the output
swarmclaw tasks create --data '{"title":"Analyse competitor pricing","description":"Research and compare competitor pricing strategies, identify gaps and opportunities","agentId":"<research-agent-id>"}' --json
Then confirm the task was created and the agent will pick it up.
Check fleet status
User says: "What are all my agents doing right now?"
swarmclaw agents list --json
swarmclaw chats list --json
swarmclaw tasks list --json --query status=in_progress
Then summarize which agents are idle, which have active chats, and any tasks in progress.
Run diagnostics
User says: "Something seems wrong with SwarmClaw"
swarmclaw system-status get --json
swarmclaw setup doctor --json
Check the health summary first (fast), then run full diagnostics if issues are found.
Multi-agent chatroom collaboration
User says: "Get my strategy and research agents to brainstorm Q2 plans together"
swarmclaw agents list --json
# Identify the strategy and research agent IDs
swarmclaw chatrooms create --data '{"name":"Q2 Strategy Brainstorm"}' --json
swarmclaw chatrooms add-member <chatroomId> --data '{"agentId":"<strategy-agent-id>"}' --json
swarmclaw chatrooms add-member <chatroomId> --data '{"agentId":"<research-agent-id>"}' --json
swarmclaw chatrooms chat <chatroomId> --data '{"message":"Brainstorm our Q2 growth strategy. Consider market trends, competitor moves, and our current strengths."}' --json
Schedule recurring work
User says: "Have my reporting agent send a daily summary every morning at 9am"
swarmclaw agents list --json
# Find the reporting agent's ID
swarmclaw schedules create --data '{"name":"Daily Morning Summary","agentId":"<reporting-agent-id>","cron":"0 9 * * *","message":"Generate and send the daily summary report covering key metrics, alerts, and action items from the last 24 hours"}' --json
Emergency stop all autonomous agents
User says: "Stop everything now!"
swarmclaw autonomy estop-set --data '{"engaged":true}' --json
Then confirm the emergency stop is engaged and all autonomous execution has halted.
Mission control
User says: "Check on the migration mission and resume it if it's paused"
swarmclaw missions list --json --query status=active
swarmclaw missions get <missionId> --json
swarmclaw missions events <missionId> --json
# If paused, resume it
swarmclaw missions action <missionId> --data '{"action":"resume"}' --json
Discovery
This skill covers the most-used commands. The full CLI has 50+ command groups. To explore:
swarmclaw --help # List all command groups
swarmclaw <group> --help # List commands in a group
swarmclaw <group> <action> --help # Show flags for a specific command