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
| Flag | Default | Purpose |
|---|---|---|
--workspace-name <name> | "" | Display name for your workspace. Empty keeps the existing one (the server uses the user’s default workspace). |
--language <name> | "" | Language for agent replies (e.g. English, Čeština, Deutsch). Injected into every agent’s system prompt. |
--crew <slug> | (prompted) | Crew template — one of software-development, devops-sre, content-marketing, accounting-finance, blank. |
--adapter <key> | (prompted) | CLI adapter — one of CLAUDE_CODE, OPENCODE, CODEX_CLI, GEMINI_CLI, CURSOR_CLI, FACTORY_DROID. |
--model <model> | (adapter default) | LLM model. Defaults to the adapter’s recommended model (claude-sonnet-4-6, gemini-2.5-pro, gpt-5.5, composer, …). |
--token <token> | (prompted, hidden input) | The CLI token for the chosen adapter — output of claude setup-token, gemini auth print-token, etc. Not the vendor’s account-level API key. |
--api-key <token> | "" | Deprecated alias for --token. Will be removed. |
--yes | false | Skip interactive prompts; every required value must be supplied via flags. |
--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
| Slug | What it deploys |
|---|---|
software-development | Tech Lead + Backend + Frontend + QA (4 agents) — interactive default |
devops-sre | SRE Lead + Platform + Security + CI/CD (4 agents) |
content-marketing | Lead + Researcher + Copy + SEO (4 agents) |
accounting-finance | Lead + Bookkeeper + Tax + Reporting (4 agents) |
blank | Single agent of your choosing (1 agent) |
/api/v1/crew-templates) so crewship setup --help is usable on an air-gapped machine.
Examples
Interactive (recommended)
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 env, then ~/.crewship/cli-config.yaml), so the printed link always matches the workspace you just provisioned.
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.