Quickstart
About five minutes. The order below is deliberate: no step claims mehmory knows something it can't yet know.
1. Install
npm install -g mehmoryRequires Node.js 22 or newer.
Upgrading from @elderfo/mehmory?
Earlier releases published to GitHub Packages, which needed a read:packages token from every installer. Replace it with npm uninstall -g @elderfo/mehmory && npm install -g mehmory.
Then wire mehmory into your harness:
Claude Code — install the plugin from the marketplace (mehmory init prints the pinned install command if it doesn't find the plugin already installed):
/plugin marketplace add elderfo/mehmory
/plugin install mehmory@mehmoryCodex CLI — no marketplace step; mehmory init --host codex (next step) writes the wiring directly.
2. Initialize the store
mehmory init # Claude Code
mehmory init --host codex # Codex CLICreates ~/.mehmory (or $MEHMORY_HOME), a .gitignore, an empty config.json, and a git repo. On Claude Code, checks your Node version and whether the plugin is installed. On Codex, also writes the four hook entries into $CODEX_HOME/hooks.json, turns on Codex's [features] hooks if it's off, and installs the six skills. mehmory init --host codex --uninstall reverses the Codex wiring; the store itself is untouched either way. Running either twice is a no-op.
3. Onboard from the sessions you already have
mehmory onboard # add --dry-run to see what would be capturedScans ~/.claude/projects/*/ for past Claude Code sessions in this project, distills the recent ones into the inbox (default cap: 30 sessions / 500 KB), redacts secrets, and writes a one-line stub project.md.
Never had a session in this project? Then this is the expected output, and it's exit 0, not a failure:
no transcripts found — run /mehmory:onboard-session inside a Claude Code session in your project instead4. First session — integrate
Start claude (or codex) as usual. SessionStart injects identity.md, project.md and index.md inside an 800-token budget on either harness, and nudges you once the inbox has enough in it to be worth integrating.
/mehmory:integrateThis is model-driven, in-session work: it reads the inbox and SCHEMA.md, decides where each fact belongs, writes pages, updates the index, and commits.
It writes outside your project directory
~/.mehmory is outside your repo, so Claude Code prompts for permission the first time. Denying is safe — the entries stay in the inbox, capture keeps working through the hooks, and the next /mehmory:integrate picks up where you left off. (On Codex, whether the first hook invocation prompts for trust the same way is unverified — see the troubleshooting doc.)
5. Second session — this is the one
Start a new claude (or codex) session. Now project.md carries what integrate actually wrote, not the onboarding stub. This is the session where "it already knows my project" becomes true — not the first one.
6. Anytime
mehmory search "what did we decide about auth"
mehmory status
mehmory doctordoctor runs a fixed health-check list and prints copy-paste fixes for whatever it flags.
Next
- Every command, flag and exit code — CLI reference
- Every config key and its real default — Config
- Redaction limits, what
purgereaches, uninstall vs. delete — Privacy - An error message you want decoded — Troubleshooting