Spool
Your local AI session library. Collects sessions from Claude Code, Codex CLI, Gemini CLI (and more) β browsable and βK-searchable.
Ask AI about Spool
Powered by Claude Β· Grounded in docs
I know everything about Spool. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Spool
Your local AI session library.
Spool collects every Claude Code, Codex CLI, and Gemini CLI session you've ever had into a sidebar of projects you can browse, pin, and revisit. Press βK to search across the whole archive.
Early stage. Spool is under active development β expect rough edges. Feedback, bug reports, and ideas are very welcome via Issues or Discord.
Install
curl -fsSL https://spool.pro/install.sh | bash
macOS / Apple Silicon only. Or build from source:
pnpm install
pnpm build
# DMG is in packages/app/dist/
What it does
Spool turns the pile of AI sessions sitting on your disk into a browsable library.
- Library shell β sidebar of projects (derived from working-dir paths across agents) and a main pane that shows recent + pinned sessions for whatever you've selected
- Session indexing β watches Claude/Codex/Gemini session dirs in real time, including profile-based paths like
~/.claude-profiles/*/projects,~/.codex-profiles/*/sessions, and Gemini's project temp dirs under~/.gemini/tmp/*/chats - Pin β keep important sessions on top of their project and on the global Library Home
- βK search β fast full-text search scoped to All or the current project; AI mode synthesizes answers across fragments
- Agent search β a
/spoolskill inside Claude Code (and any ACP agent) feeds matching fragments back into your conversation
Everything stays on your machine. Nothing leaves.
Looking for connectors (Twitter / GitHub / Reddit / etc.)? They now live in Spool Daemon, a sibling app focused on syncing platform data.
Architecture
packages/
app/ Electron macOS app (React + Vite + Tailwind)
core/ Indexing engine (SQLite + FTS5)
cli/ CLI interface (`spool search ...`)
landing/ spool.pro website
Development
pnpm install
pnpm exec electron-rebuild -f -w better-sqlite3 # rebuild native modules for Electron
pnpm dev # starts app in dev mode
pnpm test # runs all tests
Note: The
electron-rebuildstep is required whenever you runpnpm installor switch Node.js versions. Without it, the Electron app will crash at launch with aNODE_MODULE_VERSIONmismatch error frombetter-sqlite3.
If you switch between Node-side tests and Electron app/e2e runs, rebuild better-sqlite3 for the matching runtime:
pnpm run rebuild:native:node # before @spool/core / Node-based tests
pnpm run rebuild:native:electron # before launching the Electron app or e2e tests
Release
./scripts/release.sh # bump version, push tag, dispatch CI release workflow
Build + signing happen in GitHub Actions (see .github/workflows/release.yml) so
releases are never tied to a local developer certificate. The script blocks
until CI finishes; artifacts appear on the release page when it returns.
To test a local build without cutting a release, use pnpm --filter @spool/app build:mac.
License
MIT
Trademark
"Spool" and the Spool logo are trademarks of TypeSafe Limited. The MIT License above covers the source code only and does not grant permission to use the Spool name or logo. See the trademark notice in LICENSE for details.
