Give your agents names and remember who's doing what.

rostr drafts a name for every coding agent session you start, from a roster you pick. Gandalf is on the auth bug, Samwise is migrating billing, and you never have to dig through five tabs called "New session" again.

View on GitHub

Works out of the box with Claude Code and Codex.

$ rostr list
fellowship ยท A team: 4 of 6 drafted

๐Ÿง™ Gandalf   Fix auth redirect loop         rostr/api    12m
๐ŸŒฑ Samwise   Migrate billing to Stripe v3   smart-notes  1h
๐Ÿน Legolas   Flaky e2e tests on CI          rostr/site   3m
๐Ÿช“ Gimli     Postgres index audit           cloud        40m

Think like an engineering manager

Running five agents at once is easy. Remembering what each one is doing is not. Every workstream you have in flight is something you're holding in your head, and anonymous sessions make it harder: "Untitled 4" and "Fix bug" tell you nothing when you come back an hour later.

A good engineering manager doesn't keep a mental list of tickets. They know their team, and they know who's on what. Ask who's handling the billing migration and the answer is instant. rostr gives your agents that kind of identity, so you're checking in with Samwise about billing instead of hunting for the right terminal.

Names from stories you already know work best. Samwise comes with a personality attached, so "Samwise is on billing" sticks in a way that "session 3" never will.

How it works

rostr is a small CLI plus a skill that teaches your agent how to use it.

  1. Pick a roster

    Run rostr create and choose one of the pre-built rosters, or bring your own list of names.

  2. Every session gets drafted

    When a session starts, a hook drafts the next available name and tells the agent who it is. The name goes at the front of the session title: ๐Ÿง™ Gandalf ยท Fix auth redirect loop.

  3. Agents go back to the bench

    The rostr skill has your agent release its name when the work is done, so the same familiar faces keep coming back and your roster stays small.

Screenshot: named sessions in the Claude Code sidebar

๐Ÿ’ป Local rosters

For sessions on your machine. Roster state lives on disk, so there's no account to make and nothing goes over the network.

โ˜๏ธ Cloud rosters

For agents running in the cloud. Sessions draft from the rostr API at api.getrostr.sh, so your cloud agents share one roster and never end up with the same name.

Commands

rostr create <roster>
Create a roster from a preset or your own names. Choose --local or --cloud.
rostr use <roster>
Use a roster for the current project. Projects without one use your default roster.
rostr draft
Draft the next available agent, A team first. Your hooks run this at the start of every session.
rostr list
See who's on your roster and what each agent is working on.
rostr release <name>
Send an agent back to the bench when its work is done.
rostr edit
Add, remove, or rename members, pick your A team, or turn emoji on and off.
rostr disband
Delete your roster.

Pick your team

rostr comes with fun pre-built rosters, or you can make your own from any list of names. Every member gets an emoji; if that's not your thing, turn them off with rostr edit.

๐Ÿ…ฐ๏ธ A team, B team

Twenty names are too many to get to know, so every roster has a small A team: six by default, picked withrostr edit. rostr always drafts from the A team first and only calls up the B team when all your starters are busy.

๐Ÿ“ A roster per project

Make as many rosters as you like and give each project its own with rostr use. The Fellowship works on rostr, the Smash Bros work on your app, and a name tells you the project as well as the task.

Install

Ask your agent

Point Claude Code or Codex at this page and it will install rostr, set up the hooks and skill, and help you pick a roster.

Do it yourself

Install with Homebrew, create a roster, then install the hooks and skill for your agents.

$ brew install piazzatron/tap/rostr
$ rostr create work --preset fellowship
$ rostr setup # hooks + skill