Skip to main content

crewship system

Show system information including container runtime, license, and Keeper security status.
crewship system <subcommand>

Subcommands

CommandDescription
infoShow runtime and license information
keeperShow Keeper security system status
statsShow admin stats (workspaces, users, agents, running)
onboardingOnboarding status / setup / complete (subcommands: status, setup, complete)
aux-statusShow auxiliary model assignment per slot (PR-B F3)

crewship system info

Show container runtime details and license information.
crewship system info
Runtime output: Available, Runtime name, Version, Socket path. License output: Edition, Max crews, Max agents/crew, Max members, Licensee.

crewship system keeper

Show Keeper security system status.
crewship system keeper
Output: Status (enabled/disabled), Ollama URL, Model, Ollama status (online/offline), Secret credential count.

crewship system stats

Show admin-level statistics.
crewship system stats
Output: Workspaces, Users, Agents, Running agents.

crewship system onboarding

Inspect or drive the onboarding wizard for the current user. The bare crewship system onboarding invocation delegates to status for backwards compatibility with scripts that pre-date the subcommands.
crewship system onboarding          # same as `onboarding status`

Subcommands

CommandDescription
statusShow whether onboarding is complete (default if no subcommand). Output is always JSON.
setupRun the onboarding setup wizard (crew + agent + credential).
completeMark onboarding as finished without running the wizard.

crewship system onboarding status

Show whether onboarding is complete for the current user. Hits GET /api/v1/onboarding/status. Output is always JSON.
crewship system onboarding status

crewship system onboarding setup

Provision a starter crew, agent, and LLM credential in one shot — the headless equivalent of the web onboarding wizard. POST /api/v1/onboarding/setup. --crew and --agent are required.
echo "$ANTHROPIC_KEY" | crewship system onboarding setup \
  --crew "backend" --agent "viktor" \
  --llm-provider ANTHROPIC --credential-value-stdin

crewship system onboarding setup \
  --crew "ops" --agent "eva" \
  --llm-provider OLLAMA --llm-model llama3
FlagTypeDefaultDescription
--crewstring(required)Crew name to create (slugified server-side).
--agentstring(required)First agent name in the crew.
--cli-adapterstringCLAUDE_CODECLI adapter for the agent.
--llm-providerstringLLM provider: ANTHROPIC, OPENAI, GOOGLE, CURSOR, FACTORY, OLLAMA.
--llm-modelstringLLM model identifier (provider-specific).
--credential-namestringDisplay name for the stored API key.
--credential-value-stdinboolfalseRead the credential value from stdin (preferred over --credential-value — keeps it out of ps).
--credential-valuestringAPI key value (deprecated; visible in ps and shell history — use --credential-value-stdin).
Pipe the key on stdin with --credential-value-stdin rather than passing --credential-value — the latter is visible in ps and shell history.

crewship system onboarding complete

Mark onboarding as completed for the current user without running the setup wizard. Useful when a workspace was provisioned through other channels (CLI agent create, restore from backup).
crewship system onboarding complete

crewship system aux-status

Show the resolved provider, model, timeout and source for every auxiliary-model slot (Curator, Keeper, Behavior, MemoryHealth, Negative). PR-B F3 introduced this diagnostic surface so operators can confirm cfg.auxiliary.* overrides actually landed before the first eval call falls back silently.
crewship system aux-status
crewship system aux-status --format json | jq '.slots[] | select(.source=="fallback")'
crewship system aux-status --format yaml
Source column values:
SourceMeaning
explicitcfg.auxiliary.<slot> was set directly.
fallbackThe slot was empty; cfg.auxiliary.fallback was used instead.
unconfiguredNeither the slot nor fallback had a provider — operator gap.
Sample output (defaults are five slots on anthropic/claude-haiku-4-5):
SLOT          PROVIDER   MODEL              TIMEOUT  SOURCE
curator       anthropic  claude-haiku-4-5   30.0s    explicit
keeper        anthropic  claude-haiku-4-5   5.0s     explicit
behavior      anthropic  claude-haiku-4-5   8.0s     explicit
memory_health anthropic  claude-haiku-4-5   15.0s    explicit
negative      anthropic  claude-haiku-4-5   5.0s     explicit
The timeout column renders in seconds when >=1s and milliseconds below that, so the 3-30s span the MVP defaults use stays readable without mental math.

crewship system log-level

Show or change the server’s log level at runtime — no restart needed. Backs GET/PUT /api/v1/admin/log-level (OWNER/ADMIN). The change takes effect on the live logger immediately, so you can flip a misbehaving instance to debug, catch the repro, and revert — without a restart that would lose the state you’re trying to observe.
crewship system log-level                          # current level, baseline, expiry
crewship system log-level set --level debug --ttl 15m
crewship system log-level set --level info         # revert now
Flag (on set)Description
--leveldebug | info | warn | error (required).
--ttlAuto-revert to the configured baseline after this duration (e.g. 15m). 0 = until the next explicit change. Capped server-side at 24h.
--ttl exists for a reason: a forgotten debug on a busy instance is a firehose that can itself fill the disk. Prefer a bounded window (--ttl 15m) over an open-ended flip.
Output fields: level (live), baseline (the configured level it reverts to), expires_at (RFC3339, present only while a timed override is active).

crewship system health

Report the running server’s uptime, current log level, and disk headroom for the data-dir volume. Backs GET /api/v1/admin/health (OWNER/ADMIN). The disk figure is the signal that flags a filling volume before it hits 100%.
crewship system health
crewship system health -f json | jq '.disk.used_pct'
disk reports total_bytes / free_bytes / used_bytes / used_pct for the default data-dir filesystem (free_bytes matches df “Avail”). A custom DATABASE_URL on a different volume isn’t reflected — the default location is the volume that fills in practice (DB + agent outputs + logs all live under it).

See also