> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crewship.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# System & Admin Commands

> System info, escalations, templates, integrations, projects, and seed data.

# crewship system

Show system information including container runtime, license, and Keeper security status.

```bash theme={null}
crewship system <subcommand>
```

## Subcommands

| Command      | Description                                                                       |
| ------------ | --------------------------------------------------------------------------------- |
| `info`       | Show runtime and license information                                              |
| `keeper`     | Show Keeper security system status                                                |
| `stats`      | Show admin stats (workspaces, users, agents, running)                             |
| `onboarding` | Onboarding status / setup / complete (subcommands: `status`, `setup`, `complete`) |
| `aux-status` | Show auxiliary model assignment per slot (PR-B F3)                                |

***

## `crewship system info`

Show container runtime details and license information.

```bash theme={null}
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.

```bash theme={null}
crewship system keeper
```

**Output:** Status (enabled/disabled), Ollama URL, Model, Ollama status (online/offline), Secret credential count.

***

## `crewship system stats`

Show admin-level statistics.

```bash theme={null}
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.

```bash theme={null}
crewship system onboarding          # same as `onboarding status`
```

### Subcommands

| Command    | Description                                                                            |
| ---------- | -------------------------------------------------------------------------------------- |
| `status`   | Show whether onboarding is complete (default if no subcommand). Output is always JSON. |
| `setup`    | Run the onboarding setup wizard (crew + agent + credential).                           |
| `complete` | Mark 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.

```bash theme={null}
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.

```bash theme={null}
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
```

| Flag                       | Type     | Default       | Description                                                                                        |
| -------------------------- | -------- | ------------- | -------------------------------------------------------------------------------------------------- |
| `--crew`                   | `string` | *(required)*  | Crew name to create (slugified server-side).                                                       |
| `--agent`                  | `string` | *(required)*  | First agent name in the crew.                                                                      |
| `--cli-adapter`            | `string` | `CLAUDE_CODE` | CLI adapter for the agent.                                                                         |
| `--llm-provider`           | `string` |               | LLM provider: `ANTHROPIC`, `OPENAI`, `GOOGLE`, `CURSOR`, `FACTORY`, `OLLAMA`.                      |
| `--llm-model`              | `string` |               | LLM model identifier (provider-specific).                                                          |
| `--credential-name`        | `string` |               | Display name for the stored API key.                                                               |
| `--credential-value-stdin` | `bool`   | `false`       | Read the credential value from stdin (preferred over `--credential-value` — keeps it out of `ps`). |
| `--credential-value`       | `string` |               | API key value (deprecated; visible in `ps` and shell history — use `--credential-value-stdin`).    |

<Tip>
  Pipe the key on stdin with `--credential-value-stdin` rather than passing
  `--credential-value` — the latter is visible in `ps` and shell history.
</Tip>

### `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).

```bash theme={null}
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.

```bash theme={null}
crewship system aux-status
crewship system aux-status --format json | jq '.slots[] | select(.source=="fallback")'
crewship system aux-status --format yaml
```

**Source column values:**

| Source         | Meaning                                                        |
| -------------- | -------------------------------------------------------------- |
| `explicit`     | `cfg.auxiliary.<slot>` was set directly.                       |
| `fallback`     | The slot was empty; `cfg.auxiliary.fallback` was used instead. |
| `unconfigured` | Neither 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.

```bash theme={null}
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                                                                                                                               |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `--level`       | `debug` \| `info` \| `warn` \| `error` (required).                                                                                        |
| `--ttl`         | Auto-revert to the configured baseline after this duration (e.g. `15m`). `0` = until the next explicit change. Capped server-side at 24h. |

<Warning>
  `--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.
</Warning>

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%.

```bash theme={null}
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

* [`crewship doctor`](/cli/doctor) — pre-flight diagnostics including container runtime detection, port binding, DB perms.
* [`crewship version`](/cli/version) — version info with update-availability check.
* [`crewship features`](/cli/features) — devcontainer feature catalog.
* [`crewship runtimes`](/cli/runtimes) — mise runtime catalog.
* [`crewship escalation`](/cli/escalation), [`crewship template`](/cli/template), [`crewship integration`](/cli/integration), [`crewship project`](/cli/project) — moved out of this kitchen-sink page; each now has its own dedicated reference.
