crewship setup
The CLI-side counterpart to the browser onboarding wizard. Aftercrewship login --pair --code=… you have an authenticated session but no crew yet — the wizard hasn’t run. crewship setup closes that gap so a user who prefers the terminal can complete onboarding without opening a browser.
Hits the same POST /api/v1/onboarding/setup endpoint as the browser, so server-side validation, language injection, and template deploy behave identically across both surfaces.
crewship login). Errors with not logged in — run \crewship login —pair —code=…` first` when no token is present.
Flags
When
--token is not passed, the command falls back to the adapter’s conventional env var (ANTHROPIC_API_KEY for CLAUDE_CODE/OPENCODE, GOOGLE_API_KEY for GEMINI_CLI, OPENAI_API_KEY for CODEX_CLI, CURSOR_API_KEY, FACTORY_API_KEY). Only when that’s empty does it prompt.
Crew templates
The list lives in the binary (not fetched from
/api/v1/crew-templates) so crewship setup --help is usable on an air-gapped machine.
Examples
Interactive (recommended)
--telemetry
flag skips it entirely.
Scripted / CI
--yes mode the command fails fast if --crew, --adapter, or the token are missing. Errors:
--crew is required in non-interactive mode--adapter is required in non-interactive modeno token provided — pass --token=$(claude setup-token) (or the equivalent for <adapter>), or export <ENV_VAR> before running setup
Blank crew (single agent)
blank template creates one crew named My Crew with a single agent named after the adapter (e.g. Gemini CLI (Google) #1).
Common errors
- **
unknown crew template "X" — see \crewship setup —help` for the list** ——crew` accepted only the five slugs above. - **
unknown adapter "X" — see \crewship setup —help`** — adapter keys are uppercase with underscores;claude-codeis rejected,CLAUDE_CODE` is accepted. token looks too short (need at least 8 characters)— quick guard against pasting a partial token.- **
that looks like an Anthropic API key (sk-ant-api…). Crewship needs the CLI token from \claude setup-token` (sk-ant-oat… value) — run that command on your machine and paste the result** — surfaced when an Anthropic adapter is paired with what looks like a console API key. The CLI tokens start withsk-ant-oat, notsk-ant-api`.
What it prints on success
--server, then the active profile (--profile / CREWSHIP_PROFILE), then CREWSHIP_SERVER env, then ~/.crewship/cli-config.yaml), so the printed link always matches the workspace you just provisioned. The pre-send transport-security check runs against that same effective server, even when a stale CREWSHIP_SERVER is exported alongside an active profile.
See also
crewship login— pair the CLI before running setup.crewship init— bootstrap the very first admin user on a fresh server (run beforesetup).crewship seed— populate a dev/demo workspace with crews, agents, and integrations.crewship crew— manage crews after the initial template lands.