First run
From install to first signed receipt in five minutes. Local agents first, remote/VPS attach as an optional second step.
The fastest path to a signed receipt is a single treeship setup. It detects the agents on your machine, draft Agent Cards for each, instruments the ones it can attach to, runs a smoke session to prove the trust-fabric pipeline works, and points you at treeship session start to capture your first real run.
Harnesses make agents observable. Cards make agents accountable. Receipts make their work verifiable.
Local agents first
Install Treeship
npm install -g treeshipOr curl -fsSL treeship.dev/setup | sh, which installs the CLI and runs the rest of this page for you. See how Treeship is distributed for every channel and why each absence is on purpose.
Two routes this page used to offer do not work, and the difference matters if you try them:
- Homebrew — there is no formula.
brew info treeshipreturns No available formula with the name "treeship", and the quickstart it linked to never mentioned Homebrew either. - Cargo —
cargo install treeship-clidoes not install an old version, it fails. All seven published versions are yanked, so crates.io reportsmax_version: 0.0.0and cargo answers could not findtreeship-cliin registrycrates-io.
Naming a route that does not exist costs more than listing one fewer option: the reader tries it, it fails, and they cannot tell whether they mistyped it or it was never real.
Initialize the workspace
treeship initThis creates ~/.treeship/ (or a project-local .treeship/ if you pass --config .treeship/config.json), generates an Ed25519 signing key, and writes the config that everything else reads.
Run setup
treeship setup --yestreeship setup runs four steps:
- Detect local agents (Claude Code, Cursor, Codex, Hermes, OpenClaw, Cline, Ninja Dev, generic MCP).
- Draft Agent Cards for each detection — one per surface per workspace, idempotent on re-run.
- Confirm and instrument the ones it can auto-attach to. Cards born from instrumentation move from Draft → Active.
- Smoke the trust-fabric pipeline (init → session start → wrap → close → package verify) inside an isolated tmpdir. Each instrumented harness moves Detected → Instrumented.
--yes skips the confirmation prompt. --skip-smoke instruments without smoking. --no-instrument only writes draft cards.
"Verified" is harness-specific. The setup smoke proves Treeship's signing pipeline works on this machine. It does not prove that any specific harness's capture path (Claude native hook, Cursor MCP, Codex shell-wrap) actually fires. That promotion to Verified is reserved for harness-specific smokes that exercise each capture signal individually. See Coverage levels for what each level actually claims.
Your first session
treeship session start --name "first run"
treeship wrap -- pytest tests/
treeship session close --summary "tests pass"Or just run your normal workflow with the agent of your choice — instrumented harnesses capture automatically, and git-reconcile at session close picks up anything that happened outside captured channels.
Read the report
treeship package inspect .treeship/sessions/ssn_*.treeshipThe report has three panels worth scanning first:
- Agent cards — every workspace agent, its harness, its status.
- Harness coverage — what each harness could capture vs what's been proven in this workspace.
- Files changed — every file the agent touched, tagged with the source that recorded it (
hook,mcp,git-reconcile,shell-wrap).
Remote / VPS / cloud agents come second
Once you have local value — a signed receipt you can read — you can attach agents that don't run on this machine: VPS-based Codex, cloud VMs, NinjaTech / SuperNinja remotes, CI runners.
A dedicated one-command remote attach flow is not yet shipped (multi-agent joins exist at the session level: treeship session invite / session join). Today, remote agents show up as draft cards with (none yet) for verified captures. treeship harness inspect ninjatech-superninja is honest about what's possible vs what's actually proven.
The current honest path for remote agents:
treeship agent register \
--name codex-vps \
--tools read_file,write_file,bash \
--description "Codex on vps-01"That writes a .agent package (signed certificate) and a card at needs-review. treeship onboard <name> --publish folds registration, the capability card, and hub publication into one command.
What you'll see after setup
Cards (run treeship agents list — bare treeship agents prints the
subcommand help):
Agent cards (/path/to/.treeship/agents)
· Claude Code (claude-code)
id: agent_2c2942ac8e2b3795
status: active
coverage: high
provenance: discovered
· SuperNinja (ninjatech-superninja)
id: agent_6d1ac290ff78a45d
status: draft
coverage: basic
provenance: discoveredHarness coverage (run treeship harness list):
Harnesses (10 known)
· Claude Code Native Hook Harness
id: claude-code
surface: claude-code
coverage: high
status: detected
· Cursor MCP Harness
id: cursor
surface: cursor-agent
coverage: medium
status: detectedEach entry is a block, not a row — the list stays readable as fields are added.
status reads detected until the harness is instrumented.
What's next
- Agent Cards — workspace trust objects.
- Agent Harnesses — how Treeship attaches.
- Coverage levels — what each tier actually proves.