Install
From zero to "Claude Code has persistent memory" in one command.
1. Install the Vault
Requires Bun 1.3.0 or later. Check with bun --version; upgrade with bun upgrade. Then run this anywhere:
bun add -g @openparachute/hub && parachute install vault
This installs the Parachute Hub, creates a Vault, and starts it as a background daemon on 127.0.0.1:1940. You'll be asked two yes/no questions (both default yes):
- Install Vault as an MCP server in Claude Code? — writes the MCP config into
~/.claude.jsonso Claude Code picks it up next session. - Generate an API token for other clients? — prints a
pvt_...token at the end for pasting into Codex, Goose, OpenCode, Cursor, Zed, Cline, scripts, orcurl.
Non-interactive? Pass --mcp/--no-mcp and --token/--no-token. Piped installs default to yes on both.
Verify:
parachute status
2. Use it with your local MCP client
Claude Code is the zero-config path — the install adds your Vault as an MCP server to ~/.claude.json, and Claude Code picks it up on the next session. Open a project and try:
- "Save a note about today's decision — tag it #product, link to #vault."
- "What have I written about auth? Pull the notes tagged #auth and summarize."
- "Show me everything connected to last week's design review."
All nine MCP tools are available: create-note, query-notes, update-note, delete-note, list-tags, update-tag, delete-tag, find-path, vault-info. Memory carries across every session forever; context accretes instead of starting over.
Other local MCP clients — Codex, Goose, OpenCode, Cursor, Zed, Cline, your own agent — connect to the same endpoint:
http://127.0.0.1:1940/vault/default/mcp
Each client has its own way to register an MCP server — usually a settings entry pointing at that URL. Parachute is client-agnostic; Claude Code just gets the one-line auto-wire.
3. Want a UI for your notes? (optional)
Parachute Notes is a reference web UI that speaks directly to your Vault. Install it and browse in your browser:
parachute install notes
Open http://localhost:1942/notes, connect it to http://127.0.0.1:1940, paste the API token from your vault install. You get note browsing, search, tag views, a graph visualization, voice capture with auto-transcription, and a markdown editor with live preview.
It's also a starting point: the source is AGPL, Vite + React + TypeScript, talks to the vault over the documented HTTP API. Fork it and build the UI that matches how your brain works.
What comes next
Public HTTPS exposure (Tailscale Funnel / Cloudflare Tunnel), custom-connector flows for claude.ai, ChatGPT, and Gemini, and the mobile PWA install flow for Notes all work today — but the edges aren't polished enough to put in front of everyone just yet. We're running these paths through the next couple of weeks of stabilization and will announce each one as it's ready.
If you want to poke at them early, parachute expose --help is live. Expect rough edges; file issues and we'll fix.
Running it somewhere other than your laptop
Your laptop sleeps. If you want your Vault always on, you have options:
Wait for Parachute Cloud. We're working on a hosted version — same architecture, same guarantees, no server to run. Subscribe for updates.
Run it on a Mac or Linux box yourself. Vault is Bun + SQLite. Install Bun, clone the repo, bun src/cli.ts init. On Linux enable the systemd unit in deploy/; on macOS the init command wires up a launchd agent for you. Any VPS works — Render, Railway, Fly.io, Hetzner, DigitalOcean, or a home server. We don't have step-by-step per-provider guides yet; want one? Open an issue.
Troubleshooting
- Port 1940 already in use.
lsof -i :1940to see what's there. Change ports in~/.parachute/vault/.env. - Claude Code doesn't see the MCP. Start a new Claude Code session (config is loaded at session start). Run
/mcpin Claude Code to confirm. If it's missing,parachute-vault mcp-installadds it. - Want the Vault reachable from another device? The cleanest path is
parachute expose(Tailscale or Cloudflare; polished for broad use in a few weeks, runnable early today viaparachute expose --help). If you'd rather expose it yourself — nginx, Caddy, your own reverse proxy — setVAULT_BIND=0.0.0.0in~/.parachute/vault/.envand restart so the Vault listens on every interface. - Stuck on bun 1.2.x? You may see
InvalidPackageResolution: failed to parse lockfileorFileNotFound: failed opening node_modules/package dir— cosmetic, the package installed anyway. CLI 0.2.1+ detects this and continues. Upgrading to bun 1.3.x makes the warnings go away entirely.
Found something we missed? Open an issue.
bun add -g @openparachute/hub && parachute install vault