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

# Unattended use

> Every wizard capability as a flag, for CI, fleet provisioning and headless machines.

The menu is a front end over the flags, not the other way round. Anything you can do on a screen you can do in a script.

```bash theme={null}
probe wizard [AUTH_CODE] [OPTIONS]
```

> [!WARNING]
>
> **An omitted flag preserves whatever is already configured.** This is the property the whole design turns on: `probe wizard --yes` in CI can never silently revoke someone's capture pairing, because it only changes what you named.

## Options

| Flag | Effect |
| - | - |
| `--agent <name>` | `claude`, `codex`, `pi`, `kimi`, `capy`, or `both` (claude + codex). Default: choose interactively; an unattended run leaves out a Capy that is not already connected |
| `--capy-project <name>` | Capy only: a Capy project to capture threads from (repeat for more). The key comes from `$CAPY_API_KEY`, else this machine's saved Capy connection |
| `--tracking` / `--no-tracking` | Research tracking skills and the read-only MCP search surface |
| `--capture` / `--no-capture` | Stream the selected agents' sessions to the knowledgebase |
| `--auto-update` / `--no-auto-update` | Keep the CLI and plugins current in the background |
| `--agent-rules` / `--no-agent-rules` | Managed Probe block in each selected agent's global instructions |
| `--uninstall` | When turning capture off, also remove the plugin (default: keep it) |
| `--action <name>` | Skip the menu — see below |
| `--folder <path>` | Backfill only: the folder to import, skipping the picker. Required headless |
| `--who-records agent\|daemon` | Who records, for every coding agent on this device: the agent itself, or [the Probe daemon](/agents/daemon.md), open to every team. Implies `--action recorder`; needs a signed-in device |
| `-y`, `--yes` | Skip the menu and prompts |

### Signing in only

With `--action login`, these sign the device in and do **nothing else** — no plugin, capture or rule is installed. Given with another action, an install flag or a sign-in code, they are refused rather than silently dropped.

| Flag | Effect |
| - | - |
| `--token <token>` | Sign in with a dashboard token, no browser (verified against `GET /v1/me`) |
| `--base-url <url>` | The Probe server to sign in to (self-host) |
| `--context <name>` | The saved account to create or overwrite (default: the active one) |
| `--ingest-token <token>` / `--hmac-secret <secret>` | Passive-push credentials to save with it |
| `--no-browser` | Print the approval link instead of opening a browser |
| `--endpoint-only` | Save `--base-url` without signing in |

### Actions

`--action` jumps straight to one screen or lane:

| Action | Opens |
| - | - |
| `configure` | The guided install (what `npx probe-research install` opens) |
| `account` | The account screen: switch to or remove another saved account |
| `login` / `logout` | Sign in (only — see above) / sign out, without the menu |
| `recorder` | Who records; with `--who-records`, switches it |
| `defaults` | Probe in new sessions: what a new session starts at (`on`, `read` or `off`) |
| `settings` | The settings screen |
| `uninstall` | Remove Probe from this device |
| `import-research` | The import offer: sessions, a folder, or both |
| `backfill` | The folder import lane directly |
| `transcripts` | The session import lane directly |
| `imports` | Existing imports |
| `update` | Update the CLI and plugins |
| `diagnose` | The `probe doctor` report |
| `manual` | Print every command the wizard would run |

A positional `AUTH_CODE` is the ten-character sign-in code from the website; pass it to authorize without the browser handshake.

## Recipes

```bash Provision a shared build machine theme={null}
# Tracking and updates on, capture explicitly off — a shared box
# should not be uploading anybody's prompts.
probe wizard --action configure \
  --agent both --tracking --no-capture --auto-update --yes
```

```bash Turn one capability off, change nothing else theme={null}
probe wizard --no-capture --yes
```

```bash Headless folder import theme={null}
probe wizard --action backfill --folder /srv/work/folding --yes
```

```bash Sign a remote GPU box in, and nothing else theme={null}
probe wizard --action login --no-browser        # prints the approval link
probe wizard --action login --token "$PROBE_PAT" --base-url https://api.example.internal
```

```bash Hand recording to the Probe daemon theme={null}
probe wizard --who-records daemon --yes         # prints the daemon's approval link if it has no key
```

```bash Check a fleet without changing it theme={null}
probe doctor        # read-only, exits 0 regardless — parse the report
```

```bash Tear down theme={null}
probe wizard --action uninstall --yes
```

## Headless notes

* **A folder import needs `--folder`.** Without it the wizard opens a picker, which needs a TTY.
* **Set `PROBE_TOKEN` in CI** rather than relying on the inline browser approval. Auto-login is TTY-only; headless callers get a clean `AuthError`. `PROBE_AUTO_LOGIN=0` disables the inline path explicitly.
* **Capture is per-device.** Provisioning a fleet from one image does not share one pairing — each machine authorizes itself.

## Exit codes

| Code | Meaning |
| - | - |
| `0` | Completed |
| `1` | Failed — the reason is printed |
| `2` | Unknown command or bad arguments |

> **[Diagnose and repair](/wizard/diagnose.md)**
>
> What to check when an unattended install did not take.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.