- Inside Capy, the agent reads and records Probe work itself: the Probe MCP server for search, the
probeCLI and SDK for writes and instrumented runs (your computer’s, for a thread on This Mac), and a small skills bundle that says how. Capy has no command for its own settings, so you add them once, as one plugin. - On your computer, Probe copies the Capy threads you start into Probe as sessions, every 10 minutes, through Capy’s API.
Install
npx probe-research install and tick Capy: it is listed when the Capy app is on your computer. If you use Capy only in the browser, there is nothing on disk for the picker to find, so name it with --agent capy. After the review screen the installer asks for a Capy API key (Capy Settings > API; give it an expiry) and which Capy projects to capture, then connects capture and ends with the one step below in Capy’s own settings. Leave the key empty to skip capture for now; probe capy setup prints the step again.
Without a terminal, set CAPY_API_KEY and name the projects: npx probe-research install --agent capy --yes --capture --capy-project "<name>". The run exits 1 if capture could not connect.
Capy has no hooks and no status line, so there is no
/probe switch, no Probe daemon and no Probe footer in Capy. probe session and probe ask do not work there: the agent checks prior work with the MCP search tool. Capy’s API shares your prompts, the agent’s replies and a one-line summary per tool call, never tool output, file diffs or the model’s reasoning, so a Capy session in Probe is thinner than a Claude Code one.Set Probe up inside Capy
Add the Probe plugin
On a Mac with the Capy app, the installer’s last page offers Open Capy: it opens Capy’s Add from GitHub box with Probe’s plugin filled in. Click Continue, choose Only me, Add plugin, then Connect its The plugin carries Probe’s MCP server and the skills (
probe server and approve in Probe.Anywhere else, or later: in Capy, Settings > MCP & plugins > Add > From GitHub repository, and paste:probe-capy, track-work, instrument-code, plan-research-review, edit-notes, audit-team-note). Capy shows every skill’s description to the agent, so it reads probe-capy at the start of ML work on its own.If Capy says the key probe is already taken, you added Probe’s server by hand before: remove that server, then add the plugin.Threads in Capy's cloud: put the CLI on the Capy machine
Only for threads on Capy’s cloud machines. A thread on This Mac uses your computer’s Code that calls the SDK (
probe, which the installer set up.In the project’s Environment variables > Personal tab. Personal, so your token never reaches a teammate’s thread or a PR review.Then add the CLI to the machine recipe, in Dev environment or a committed
.capy/setup.json:.capy/setup.json
import probe) also needs probe-research in its own environment (uv add probe-research). The CLI tool install above is isolated.Self-hosted Probe, or without the plugin
Self-hosted Probe, or without the plugin
The plugin’s server is the hosted Probe. For your own deployment, add the parts by hand: in Settings > MCP & plugins, add an MCP server named
probe (Streamable HTTP, your deployment’s MCP URL), then Connect; and install the skills into your repository:probe capy setup prints these for your deployment.probe doctor reports only what applies there: the CLI version, whether PROBE_TOKEN signs in, and where capture happens.
Capture your Capy threads
This part runs on your own computer. You need:- The
probeCLI, version 0.245.0 or later, installed for good:uv tool install probe-research(the installer does this). The timer runs thatprobe, so a throwawaynpxcopy cannot host it. - A Capy API key, from Capy Settings > API. Give it an expiry.
- To be signed in to Probe (
probe wizard --action login) with the same email your Capy account uses.
$CAPY_API_KEY, or takes --api-key-stdin. Never type the key as an argument, where shell history keeps it. It then finds your Capy user by your Probe account’s email, asks you to approve capture once in the browser (or checks that the approval it already has belongs to your team), and installs a timer that syncs every 10 minutes: systemd on Linux, launchd on macOS, and anywhere else it prints a crontab line to add and syncs once right away. The first sync starts in the background, and a long history can take a while.
- Only threads you start are captured, in the projects you named. A Capy key can read your teammates’ threads too, and capturing those would need their consent. Messages teammates add to your threads are part of them, and are captured.
- Captured: your prompts, the agent’s replies, attachment names and a one-line summary per tool call. Not captured: tool output, file contents, diffs, the model’s reasoning. Likely credentials are replaced before upload, which is a filter, not a guarantee: keep live credentials out of prompts.
- One thread is one Probe session. Each subagent is its own session, linked to its thread. A thread quiet for a day, or archived, is finished. New messages reopen it.
- Your computer being off loses nothing: the next sync catches up. On Linux, user timers stop when you log out unless lingering is on (
loginctl enable-linger), andconnecttells you when it is off.
disconnect. Signing out of Probe or uninstalling it disconnects Capy too; Probe’s MCP server and skills stay in Capy until you remove them in its settings. Signing in to another account never moves Capy capture: if it was connected for another team, it turns off and probe capy connect connects it to the new one.
The key is stored owner-only (0600) beside the capture credential, and is sent to Capy’s API only. probe capy only reads from Capy; it never writes there.
Session capture
What leaves the machine, and how to stop it.
Command reference
Every
probe capy command and flag.