Oktapod Docs

Agent teams

Split work across helper agents and specialists, give a channel its own agent, and keep every worker bounded and accountable.

For bigger jobs, Oktapod can split work across helpers. Every helper is part of the same agent: the same approval rules, budgets, and records apply, and a helper never gets more authority than the work that started it.

Helpers from chat

Ask for parallel work in plain language:

Research three standing desks under $600, compare them, and give me one recommendation.

Review the login flow and the signup flow separately, then summarize both.

Oktapod may start helper agents (subagents) for parts of the task. Each helper gets a written task with inputs, success criteria, and limits, and returns a structured result. Oktapod then merges the results.

A helper's result is checked before it reaches you. If a helper failed, or finished without showing it met the criteria it was given, the result is marked unverified instead of looking like a clean success.

You can see helpers at work in the side panel on wide screens (Agents) and under Settings → Apps & permissions → Agent team.

Specialists

Specialists are helpers for particular kinds of work, such as coding or calendar tasks. In a chat:

CommandWhat it does
/specialistsList specialists and active bindings.
/focus <specialist>Send this conversation to one specialist.
/unfocusReturn to the normal agent.
/tasksList or cancel specialist tasks.

Up to eight specialists can work on one request at once. Their results are combined by fixed rules, not by another model's opinion, so the same results always produce the same summary.

Limits that keep work bounded

  • Depth: helpers can start their own helpers only up to a set depth.
  • Width: each helper can start at most 8 children by default, and never more than 32. A child cannot raise a limit it inherited.
  • Budget: each helper has its own token and cost budget. When a budget is spent, no more children start.

When a limit is reached, the request fails with a clear reason instead of retrying quietly.

Named agents for a channel or workspace

A named agent is a saved role with its own defaults. A route binding decides when it is used: for example, messages from one Discord account go to a "coding" agent that works in one repository with write access limited to that workspace.

Set these up under Agent team, or from a terminal:

oktapod agents list --verbose
oktapod agents bindings list --verbose
oktapod agents bindings set \
  --binding-id support-coding \
  --channel webchat \
  --agent-id coding \
  --workspace-path /path/to/repository \
  --tool-profile coding \
  --sandbox-policy workspace-write \
  --memory-scope agent \
  --approval-scope agent \
  --priority 50 \
  --reason "Route coding requests to the reviewed workspace"

Start with the narrowest tools and a read-only sandbox for research or support roles, and widen only when the work needs it.

Missions

A mission groups several workers around one outcome. In Agent team, create a mission, choose up to five workers, and give them a shared conversation. Each worker keeps its own owner, assignment, decisions, and results under the mission.

Steer, reassign, or stop

From Agent team or a terminal:

oktapod subagents list --verbose
oktapod subagents steer <run_id> "Stop editing. Summarize what failed."
oktapod subagents reassign <run_id> --owner-agent-id reviewer --mission-id <mission_id>
oktapod subagents kill <run_id>

Steer changes the next step, reassign changes who owns the work, and kill stops it. Stopping does not undo what already happened; the record stays.

A helper waiting for your approval is not stuck or failing. Answer the approval, and it continues. Approving one step does not approve the rest of the mission.

Start a helper from the terminal

oktapod subagents spawn "Review the authentication flow and report the smallest safe fix" --session-id <session_id> --detach
oktapod inspect <run_id>
oktapod timeline <run_id>

Write tasks with a result you can check: a list of findings with sources, a proposed patch, or a test result.

If a helper seems stuck

oktapod subagents list --verbose
oktapod timeline <run_id>
oktapod reliability:status

Check whether it is waiting for approval first. Oktapod's supervisor restarts crashed helpers within a limited budget, and marks a helper finished if its work already completed. Inspect the run before starting a duplicate.