Skip to content
Poppy / Documentation

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 Codepoppy setup claude-code

    MCP entry + lifecycle hooks + CLAUDE.md primer

  • Claude Desktoppoppy setup claude-desktop

    MCP entry + paste primer once

  • Codexpoppy setup codex

    MCP entry + hooks + AGENTS.md primer

  • Copilot CLIpoppy setup copilot-cli

    MCP entry + copilot-instructions.md primer

  • Cursorpoppy setup cursor

    MCP entry + lifecycle hooks

  • Geminipoppy setup gemini

    MCP entry only

  • Goosepoppy setup goose

    MCP entry + .goosehints primer

  • Hermes Agentpoppy setup hermes-agent

    native plugin

  • Pipoppy setup pi

    MCP entry via pi-mcp-adapter

  • VS Codepoppy setup vscode

    MCP entry only

  • Windsurfpoppy setup windsurf

    MCP 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.ai

The 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 poppy subcommand, 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 trags wires 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.