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

# Installation

> Install, update and remove Probe — through the wizard, with the commands underneath.

One command sets everything up. The tabs on this page show the wizard first and the equivalent command second, for when a script is doing the work.

```bash theme={null}
npx probe-research install
```

The npm package is a thin launcher: it resolves and runs the real CLI, so you do not need Python tooling set up first. It signs you in, installs the plugins for the coding agents you pick, and offers to import work you already have.

> **[Walk through the wizard](/wizard/install.md)**
>
> Four screens, and what each one asks.

An interactive install also asks "Where should this computer's work go?": the workspace its new projects are filed in. An unattended install (`--yes` or explicit flags) never guesses between several workspaces; it keeps the one already set (or your old saved default), and otherwise leaves it unset and says how to pick one. Change it later with `probe workspace use <slug>`. See [each computer's workspace](/dashboard/workspaces.md#each-computers-workspace).

> [!TIP]
>
> A coding agent can sign you up or in itself, with no browser form: it follows [useprobe.ai/auth.md](https://www.useprobe.ai/auth.md), and you sign in with Google and type the 6-digit code the agent shows you. See [agent sign-in](/cli/auth.md#agent-sign-in).

## Setting up a device

**Wizard**

```bash theme={null}
npx probe-research install
```

Pick your coding agents, review what will be set up, install, and import. `npx probe-research` with no verb opens the main menu instead — the right entry point when you are managing an install rather than creating one.

Add `--agent codex` for Codex, or `--agent both` for Claude Code and Codex together.

**Command**

```bash theme={null}
probe wizard --action configure \
  --agent both --tracking --capture --auto-update --agent-rules --yes
```

Same flow, no prompts. **An omitted flag preserves whatever is already configured**, so this is safe to run repeatedly against a fleet. See [unattended use](/wizard/flags.md).

**By hand**

```bash theme={null}
probe wizard --action manual
```

Prints every command the wizard runs, for the agents you name — generated from the same constants, so it cannot drift. This is the path for air-gapped machines and for anyone who wants to read the commands before running them.

> **What it prints, for Claude Code**
>
> ```bash theme={null}
> claude plugin marketplace add prbe-ai/research-os-agent
> claude plugin install probe-research@research-os-agent       # tracking + MCP
> claude plugin install probe-research-tap@research-os-agent   # session capture
> ```

> **What it prints, for Codex**
>
> ```bash theme={null}
> codex plugin marketplace add prbe-ai/research-os-agent
> codex plugin add probe-research@research-os-agent
> codex plugin add probe-research-tap@research-os-agent
> npx probe-research install --agent codex
> ```
>
> The last step authorizes this Codex device — Codex needs its own capture credential, separate from Claude Code's.

> [!WARNING]
>
> On pi, check the result rather than assuming it. A settings file that carries the package without its extensions loads the skills and the MCP manifest but never spawns the capture daemon — tracking reads as on while nothing is captured. `probe doctor` names that state.

The two plugins are separate on purpose, because they are separate consent decisions: **tracking** adds skills and read-only search, **tap** streams your sessions to the team knowledgebase.

## CLI and SDK only

If you are instrumenting a training script and no coding agent is involved, skip the wizard entirely:

```bash pip theme={null}
pip install probe-research
```

```bash uv theme={null}
uv tool install probe-research
```

```bash in a project theme={null}
uv add probe-research
```

One package ships both surfaces — `import probe` (the [SDK](/sdk/quickstart.md)) and `probe` (the [CLI](/cli/overview.md)). They are the same implementation with different ergonomics, so they have capability parity.

Then sign in — this signs the device in and installs nothing else:

```bash theme={null}
probe wizard --action login
```

> **[Auth and accounts](/cli/auth.md)**
>
> Signing in, switching accounts, tokens, contexts, and air-gapped sign-in.

## MCP server

The read-only MCP server ships inside the tracking plugin, so a plugin install needs no extra step. To wire it into another MCP client:

```bash theme={null}
probe-research-mcp            # stdio server
```

The hosted HTTP endpoint is `https://mcp.research.prbe.ai/mcp`. Credentials:

```bash theme={null}
probe mcp status              # where the credential resolves from, and whether it works
probe mcp headers             # Authorization header as JSON
probe mcp env                 # the export line, for clients that only read the environment
```

The server prefers `PROBE_MCP_TOKEN`, a separately minted read-only token. It falls back to `PROBE_TOKEN` for local development and exposes no mutation tools either way.

> **[MCP reference](/agents/mcp.md)**
>
> All six tools, token budgets, pagination and entity views.

## Keeping it current

Auto-update is on by default and runs in the background at session start.

**Wizard**

```bash theme={null}
npx probe-research            # → Update to the latest version
```

The **On this device** block carries a Versions section: what you have installed, what is published, and whether you are current — graded per component, because CLI, SDK, plugin and tap update on their own cadences.

To stop background upgrades, untick **Automatic updates** in [Settings](/wizard/settings.md).

**Command**

```bash theme={null}
probe wizard --action update          # update now
probe wizard --no-auto-update --yes   # stop background upgrades
probe doctor                          # versions, and the LAST UPDATE ATTEMPT
```

> [!NOTE]
>
> `probe doctor`'s last line matters more than the version numbers: a detached auto-updater that has been failing silently is otherwise invisible.

## Removing it

**Wizard**

```bash theme={null}
npx probe-research            # → Uninstall Probe
```

Stops capture and imports, clears local import history, removes the plugins, and signs this device out — the tokens saved here are revoked.

To sign out without uninstalling, choose **Sign out** instead; the plugins stay installed.

**Command**

```bash theme={null}
probe wizard --action uninstall --yes     # remove everything
probe wizard --action logout              # credentials only; plugins stay
probe wizard --no-capture --uninstall --yes   # drop the capture plugin only
```

**Nothing already sent to your team's knowledgebase is touched.** Uninstalling a client does not delete data.

> [!WARNING]
>
> Credentials in your shell outrank the config file. If `PROBE_TOKEN`, `PROBE_MCP_TOKEN`, `PROBE_INGEST_TOKEN` or `PROBE_SERVICE_TOKEN` is exported in your environment, signing out clears the file but the CLI still authenticates. The wizard says so when it sees one — it cannot unset a variable in your parent shell.


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