Crew New in 0.8.5

Coding agents on your server. You land what they make.

Claude Code, Codex, OpenCode and Pi, each in a git worktree of its own, several at once. Tell your agent "have Codex fix the login test and Claude add dark mode", from any channel, or use the Crew page. Captain watches them without spending tokens, and tells you when one finishes or needs a decision.

deck.example.com · Crew
Crew's Overview: 1 task needs you, with tiles for working, needs you, to look at and live sites, a Codex task waiting on a decision, a Claude Code task ready to look at, OpenCode and Pi tasks working, and two projects in the side rail

The real interface, with made-up people and data.

How a task flows.

From a sentence in a chat to work you can land, and nothing lands by itself.

  1. 1

    Ask

    Tell your agent, or press New task. Pick a CLI and say what's wanted. Change the code works on a branch, and Only look, and report changes nothing.

  2. 2

    Say where

    A project, a repository address, or for an admin a folder on the server. Crew clones an address itself, in the background, so a big repository holds nothing up.

  3. 3

    Say what it runs on

    The CLI's own login, OpenCode's free models, one of your agents' models, a team tier, or a server you type in.

  4. 4

    It gets a place of its own

    A git worktree, its own ports and temp folder, the files you gave it, the folders you ticked, and the project's environment.

  5. 5

    It works

    Captain watches from disk, at no token cost. A worker outlives a deck restart, and you can step in at any point.

  6. 6

    Your agent hears

    It's called back on the channel you asked from. The results reach your files, under vfs:crew/<project>/<task>/, where it can read them.

  7. 7

    A person lands it

    Merge is a button, or an Approve in the bell. Captain pushes and opens the pull request. Work that hasn't landed stays until you say otherwise.

Models Any of them

Any model. The key stays on the deck.

Point a worker at an agent's model, a team tier or a server you type in, and the CLI needs no login. It gets the deck's address and a key good only for its current turn. A worker told to print its environment has nothing to print, so a team's key is safe to use this way.

Its own login OpenCode's free models An agent's model A deck tier One you enter

Through the deck, tokens count toward your daily limit the way an agent's do: only what missed the prompt cache, plus output. Keys you bring yourself don't count.

deck.example.com · Crew
New task on Crew: a brief typed, OpenCode picked, and the Model section set to a deck tier, Balanced, saying OpenCode calls it through Captain and never sees its key

Give it what it needs.

A worker can only use what reaches its folder, and only test what's installed.

deck.example.com · Crew
The quote-desk project on Crew: its Environment card reads Prepared, with the folder, Node and Python, the virtual environment, the package folder, the test and start commands, and Open a terminal here
deck.example.com · Crew
New task on Crew, lower down: Folders from your files, with one folder on Read and one on Read and write, and what to do when it's done

Captain never runs anything a repository brings with it: only what's in the project's settings, which you see.

Step in when you want.

Quiet is fine. A CLI can say nothing for minutes while its model writes one long reply.

A person lands it.

Your agent can ask for a merge. It can't do one. Its report says what git shows, not what a worker claims.

  • Branches only. Every task works on its own branch and never pushes. Work that hasn't landed is never removed unless you say so.
  • Your token, not theirs. Captain pushes, opens and merges pull requests with the GitHub token in Crew's Logins. No worker ever sees it, and a key is never asked for in a chat.
  • Live sites. Put what a task made online at an address you choose. Stop keeps the address, and Start brings it back. On a deck with sign-in, only an admin can run an app; a page is anyone's.
  • Even on Captain itself. Point a task at your fork and land it through a pull request. The deck updates itself from there, with a test start and a way back.
deck.example.com · Crew
A finished Claude Code task, Let clients upload missing documents: done in 3 commits with all 41 tests passing, with Merge into main, Open a pull request and Discard, its timeline of steps, and a box to tell it to go on

Who to approve.

Crew is off for everyone but admins until an admin ticks it per person: which CLIs, and how many at once. Withdrawing it stops what's running at once.

  • Their own logins. Each person saves their own in Crew's Logins. A non-admin's worker never falls back to the deck owner's, and its environment holds none of the deck's secrets.
  • The terminal has its own tick, and FD_CREW=off turns Crew off for the whole deck.
  • On your own hardware. Install the CLIs on the deck's host. OpenCode's free models need no key, and your own Ollama or llama.cpp works too.

Approving someone trusts them with the server. A worker runs as the same system user as the deck, so it can reach what that user can, including other people's files. No OS sandbox holds it to its worktree yet, apart from Codex's own. Merging is enforced at the crew tool: a non-admin's agent has no other way, but an admin's agent has a shell, so for it that's a rule it's told, not one it can't break. · The team checklist

It's a page, or a sentence.

Everything on the page your agent can do from a chat with the crew tool: start a task, clone a repository, prepare an environment, steer a worker, hand it files and folders, or run it on its own model. A key is the one thing it never takes through a chat.

Claude Code Codex OpenCode 1 and 2 Pi

Crew docs · Forge agents has Crew build the software a team needs · Code is Captain's own pipeline

Crew on a phone

Keep reading

Try it on real work.

Join the waitlist for Cohort 001, our first early-access group, and you'll get an email when you're in. Or run Captain on your own machine today.