Skip to content
DocsThe captain

The captain

Starting, restarting, and addressing a captain, plus what a session carries across restarts.

The captain is a native agent CLI running in your pane with a captain's instructions appended. It is the only agent you talk to, and the only one allowed to recruit.

Starting a captain#

Launch captain from an interactive terminal inside a Herdr workspace. It renames the current tab to Captain Barbossa and replaces itself with the chosen CLI, so native input, history, permissions, and login all stay with that agent.

shell
captain                         # asks: Claude Code, Codex, pi, Grok?
captain --agent claude
captain --agent codex
captain --agent pi
captain --agent grok
captain --prompt "Inspect this project"
Launch flags
FlagEffect
--agent claude|codex|pi|grokSelects the native CLI. Omitted, it asks.
--prompt TEXTSupplies the captain's first task.
--session IDResumes captain state. See restarting.
--no-dashboardSkips an enabled dashboard for this launch.

Outside a Herdr workspace, captain offers to bootstrap one instead of failing. See install.

What a session holds#

A session ties together the workspace, the project, the crew roster, the assignment protocol, and graph memory. It is identified by a session ID and bound to the project and Herdr workspace it was created in.

shell
captain session                 # prints the current session id

Restarting a captain#

Find the ID with captain session before you exit. Then exit the running agent with /exit or Ctrl+D and relaunch:

shell
captain --session <session-id>

Graph memory, the roster, and protocol state carry over. The chat transcript does not: you get a fresh native conversation, not a provider transcript resume. What survives is spelled out in memory.

Running commands from another pane#

Captain commands normally run inside the launched agent's environment. From a separate Herdr shell in the same project and workspace, name the session explicitly:

shell
captain --session <session-id> memory show
captain --session <session-id> crew --task "Check boundary cases"
captain --session <session-id> --agent codex

This is how you script Captain Barbossa, and how you inspect a session without interrupting the captain mid-turn.

What only the captain can do#

  • Recruit crew (crew), reassign them (assign), and dismiss them (dismiss).
  • Answer a crew's question (answer) and send follow-ups (tell).
  • Read session and project memory, which holds other crew's assignments. Crew are restricted to repo scope.

Crew that are asked to delegate forward the request back to the captain rather than spawning their own agents.