Skip to content
Captain Barbossa

Herdr-native · no daemon · one checkout

Your agent CLI,
promoted to captain.

Captain Barbossa launches Claude Code, Codex, pi or Grok as a captain inside a Herdr workspace. The captain recruits further native agents as crew in new panes, so a team of real agent sessions works the same checkout at once. No daemon, no custom UI, no tmux layer.

uv tool install captain-barbossa

macOS or Linux · Python 3.11+ · uv · Herdr · MIT

A live session

Four agents, four panes, one checkout.

A Herdr terminal workspace on a tab named Captain Barbossa, split into four panes. At the left the captain agent discusses adding a theme switcher, with a dev-server request log beneath it. In the middle, a pane labelled Jack shows a JSX diff and a pane labelled Gibbs shows memory-scope file paths. At the right, a pane labelled Tia reports the generated logo, hero and Open Graph files with their dimensions and byte sizes.

Scroll the panel sideways to read it

1

Captain - Took “add a theme switcher as well” and split it across the crew. The pane beneath it tails this site's dev server.

2

Jack - Owns the landing page and the design tokens - mid-edit on the components you are looking at.

3

Gibbs - Owns the docs site, told to source every colour from Jack's tokens rather than start a second set.

4

Tia - Owns the brand art, reporting finished dimensions and byte sizes back to the captain.

One checkout, four native agent sessions, each in a real Herdr pane - photographed mid-build of this very site. View the screenshot full size.

How a crew comes together

Three commands, and nothing hidden between them.

  1. 01

    Promote one agent to captain

    It renames the tab, then replaces itself with the native CLI, so input, history, permissions and login all stay with that agent. Outside a Herdr workspace it offers to bootstrap one instead of failing.

    captain --agent codex
  2. 02

    Recruit the crew

    A new pane opens in the slot your [placement] shape declares, and the task is submitted without stealing focus. Only the captain recruits; crew forward delegation back to it.

    captain crew Gibbs --task "Review UI"
  3. 03

    Follow the work, don't guess at it

    wait reports activity, questions, approval prompts, or completion, and repeats until acknowledged. Native idle alone never means the assignment is done. focus moves you there; dismiss retires the pane.

    captain wait Jack

Why it is built this way

Built for developers who want control and auditability, not autonomy.

Cost posture

Cheap by default, retiered in place

Omitting --model recruits the cheap tier instead of falling through to whatever the native CLI happens to be configured with, so commits, tests, lint and chores never silently land on an expensive model. captain model Jack strong steps a running crew up without losing its pane, conversation or assignment.

State

Lifecycle hooks, not screen-scraping

Crew status comes from the vendor's own events - Claude Code --settings hooks, Codex notify - with a pane-tail fallback, rather than a wrapper process guessing from pixels. No daemon and no custom UI sit between you and the agent.

Memory

Three scopes, one of them committed

Session and project facts live outside the checkout, so a restarted captain keeps what it learned. A curated repo scope is committed as .captain/graph.json with a required --because rationale and a closed relation set. Nothing is inferred, summarised, or committed for you.

The shared checkout

An ownership contract, stated plainly

Assignments record --owns PATH and --allow ACTION; overlapping active ownership is refused and captain check answers a crew's question before it writes. Nothing locks files. It is an instruction-only contract, not enforcement, and the docs say so.

captain dashboard

A crew costs money. Watch it in a pane.

A plain-text table refreshes in its own pane every two seconds. It keeps live context separate from cumulative tokens, prices at list from a local cache, keeps dismissed crew in the totals, and marks an unknown reading rather than inventing a zero.

  • Enable it in .captain/settings.toml to split below the captain on launch.
  • --interval SECONDS to slow it down, --no-dashboard to skip it once.
  • Prices refresh over the network only when you pass --refresh-prices.
$ captain dashboard
Example token usage for one session's captain and crew
NAMEAGENTCTXCUM TOKCUM $$/H 10M
CAPTAINclaude/opus-57%2.70M$2.66$1.84
Jackcodex/gpt-5.6-terra11%130k$0.07$0.05
Willclaude/haiku-4-531%366k$0.09$0.00
TOTAL––6.30M$3.38$1.89

TOTAL includes retired(1): 3.10M tok/$0.56; USD list est; rounded

Weigh anchor.

Install it, open a Herdr workspace at your project, and ask the captain to recruit a crew.

uv tool install captain-barbossa
captain --agent claude
Read the docs