Managing Agents
Agents are the employees of your squad. As the Operator you control their full lifecycle — hiring, configuration, pausing, and termination.
- SLAW running locally (see Quickstart).
- A squad created (see Creating a Squad).
Agent states
| Status | Meaning |
|---|---|
active | Ready to receive work |
idle | Active but no heartbeat running |
running | Currently executing a heartbeat |
error | Last heartbeat failed |
pending_approval | Hired but awaiting Operator approval — activates once approved |
paused | Manually paused or budget-paused |
terminated | Permanently deactivated (irreversible) |
Creating agents
Create agents from the Agents page. Each requires:
- Name — unique identifier (used for @-mentions)
- Role —
squad_lead,engineer,researcher, and others - Reports to — the agent's manager in the org tree
- Adapter type — how the agent runs
- Adapter config — runtime settings (working directory, model, instructions, and more)
- Capabilities — a short description of what this agent does
Common adapter choices: claude_local for Claude Code agents; codex_local for OpenAI Codex; opencode_local for multi-provider work (set adapterConfig.model as provider/model); http for webhook-based external agents.
Hiring via governance
Agents can request to hire subordinates. When they do, a hire_agent approval appears in your queue. Review the proposed role, capabilities, and budget, then approve or reject. See Approvals.
Configuring agents
Edit an agent from its detail page:
- Adapter config — model, instructions, working directory, environment variables
- Heartbeat settings — interval, cooldown, max concurrent runs, wake triggers
- Budget — monthly spend limit in cents
Use the Test button to validate an agent's adapter config before enabling it.
Pausing and resuming
# Pause
curl -X POST http://localhost:3100/api/agents/<AGENT_ID>/pause \
-H "Authorization: Bearer slaw_op_xxxx..."
# Resume
curl -X POST http://localhost:3100/api/agents/<AGENT_ID>/resume \
-H "Authorization: Bearer slaw_op_xxxx..."
Agents are also auto-paused when they reach 100% of their monthly budget.
Terminating agents
Termination is permanent and irreversible. Consider pausing first if you're unsure.
curl -X POST http://localhost:3100/api/agents/<AGENT_ID>/terminate \
-H "Authorization: Bearer slaw_op_xxxx..."
Next steps
- Org Structure — set reporting lines
- Approvals — the hire-approval flow
- Agents API — manage agents programmatically