The local-first memory CLI for AI coding agents.
Install it once, wire it into your editor with one command per tool, and recall what you decided in any IDE, on any machine. Your memories live in one SQLite file on disk. No accounts required, Apache-2.0 licensed, sync optional.
What Poppy is
Poppy is a tiny CLI plus an MCP server that gives your AI coding agent persistent memory. You install it once, plug it into your editor, and decisions you make in Claude Code, Cursor, Codex, or Copilot stop disappearing at the end of the session.
Recall runs on a hybrid engine: keyword search and embeddings combined, then reordered by a cross-encoder reranker. Everything runs locally on ONNX models, no GPU and no API keys. The data lives on your machine in a SQLite database at ~/.poppy/. The cloud sync is optional.
First run
The 30-second path:
# install (pipx is the recommended path)
pipx install poppy-memory
# capture your first memory
poppy remember "keeping auth in Supabase, dropping Clerk"
# recall
poppy recall "auth provider"The first recall downloads the embedding + cross-encoder models (~160 MB). After that everything is local.
Wire it into your agent
One command per agent. Each installs the MCP entry; some agents also get a primer file so the agent knows the remember/recall/forget tools exist:
- Claude Code
poppy setup claude-codeMCP entry + lifecycle hooks + CLAUDE.md primer
- Claude Desktop
poppy setup claude-desktopMCP entry + paste primer once
- Codex
poppy setup codexMCP entry + hooks + AGENTS.md primer
- Copilot CLI
poppy setup copilot-cliMCP entry + copilot-instructions.md primer
- Cursor
poppy setup cursorMCP entry + lifecycle hooks
- Gemini
poppy setup geminiMCP entry only
- Goose
poppy setup gooseMCP entry + .goosehints primer
- Hermes Agent
poppy setup hermes-agentnative plugin
- Pi
poppy setup piMCP entry via pi-mcp-adapter
- VS Code
poppy setup vscodeMCP entry only
- Windsurf
poppy setup windsurfMCP entry only
Each setup command is idempotent; running it twice doesn’t duplicate anything.
Sync across machines
One more command if you want your memories on more than one machine:
poppy setup trags # device-code onboarding to trags.aiThe CLI opens a browser, you click “authorize this device”, and from then on every local write pushes to the cloud automatically. Other devices you’ve linked pick the changes up on their next sync. The cloud is entirely optional; everything still works without it.
Where to go next
- Install/docs/poppy/install
the supported install paths and what each one costs you
- Command reference/docs/poppy/commands
every
poppysubcommand, with examples pulled from the CLI’s own help text - Integrations/docs/poppy/integrations
one page per supported agent, with the primer block and the doctor-check
- Cloud sync/docs/poppy/sync
what
poppy setup tragswires up, including watermark recovery and multi-device caveats - Telemetry/docs/poppy/telemetry
off until you opt in, exactly what is captured, EU region
- Troubleshooting/docs/poppy/troubleshooting
common errors, where the logs live, and how to file a useful bug report
Privacy controls
Automatic capture is consent-gated (one-time poppy autocapture on --global) and has two controls. poppy autocapture off keeps a single sensitive repo (employer or client code) out of memory without turning capture off everywhere; the per-project deny-list sits above consent, and only automatic capture stops, so recall and poppy remember keep working there.
Before a captured candidate becomes a memory, Poppy masks secret-shaped tokens in place with [REDACTED]: private-key blocks, passwords in connection-string URLs, Bearer tokens, and AWS, OpenAI, and GitHub key shapes. The masking runs before the value can reach the store, the capture journal, or cloud sync. It is a deliberately narrow safety net, not a general secret scanner; for a repo where this really matters, turn capture off for that project.
How Poppy fits into Trags
Poppy is the free, local-first CLI, and Trags is the optional sync and dashboard layer. Nothing leaves your machine until you connect an account and turn sync on.