documentation
Get started with Mnemo
Install it, give it a model, and know what it may do. The complete lists of commands and keys are on their own page.
Last updated
#Quick start
Three commands from nothing to a working agent. The first line is for macOS and Linux; Windows is just below.
curl -fsSL https://mnemo.atmanmishra.dev/install.sh | shirm https://mnemo.atmanmishra.dev/install.ps1 | iexmnemo doctormnemoOn first run type /login to add a provider key or subscription, then /model to choose a model. No key yet? mnemo --demo plays a scripted session in a scratch project so you can see a turn first. Prefer a download button? The download page has one for your system.
#Installing
The installer downloads one archive holding mnemo and its memory sidecar memsrv, checks its SHA-256 against the release's checksum file, puts both in ~/.mnemo/bin (%USERPROFILE%\.mnemo\bin on Windows) and links mnemo onto your PATH. On a terminal it draws itself as it goes; piped, or with NO_COLOR, it prints plain lines. It never touches your memory or settings, and running it again upgrades in place.
Three ways
- One-line installer: the commands above. Read the script first if you like.
- A downloaded archive: from /download. Unpack it and keep
mnemoandmemsrvin the same folder on your PATH. On Windows, double-clickmnemo.exein the unzipped folder instead: it offers to put both in%USERPROFILE%\.mnemo\binand add that to your PATH (mnemo installdoes the same from a terminal;--yesskips the question). - From source: needs Bun and a Rust toolchain. CONTRIBUTING.md has the steps.
Installer options
Set these before the command (for example MNEMO_HOME=/opt/mnemo curl … | sh):
MNEMO_HOME: where Mnemo lives (default~/.mnemo).sh -s -- --uninstall/--deep(Windows:$env:MNEMO_UNINSTALL=1,deep): remove it. See uninstalling.
#First run
mnemo doctorreports the model, the memory sidecar and Python. Add--fixto repair what it can (file permissions, a broken settings file, a missing sidecar).- Start Mnemo in a project folder:
cd my-project && mnemo. It asks once whether to trust the folder's own.agents/extensions and prompts. /loginadds a provider;/modelchooses the model;/thinkingsets how hard it thinks. Mnemo also uses keys it finds in your environment, such asANTHROPIC_API_KEY.- Ask for something. By default it asks before every edit and command.
shift+tabcycles the mode. - Type
/for the command menu,@to mention a file,ctrl+kto jump anywhere. Everything is on the shortcuts page.
#Permission modes
The mode decides what Mnemo may do without asking. Only you can change it; it is never a tool the model can call.
| Mode | What happens | Switch |
|---|---|---|
default | Asks before every edit and every command that is not clearly read-only. | /mode |
accept-edits | Edits project files freely; still asks before commands. | /accept-edits, --accept-edits |
plan | Read-only. Nothing is changed. | /plan, --plan |
yolo | Asks for nothing. Only deny rules still hold. | /yolo, --yolo |
Put rules in ~/.mnemo/permissions.json (allow, ask, deny; first match wins, and a deny beats every mode). A file that exists but cannot be parsed stops all edits and commands until it is fixed.
#Memory
After each run Mnemo writes down what it learned about the project and about you, recalls it in the next session, keeps the fix when something failed, and writes skills for itself. It all lives in a local, append-only journal that only you can read: ~/.mnemo/memory/journal.jsonl. Nothing is uploaded.
/memoryshows what it remembers;/memory deploysearches it./remember we deploy with flytells it something to keep;/forget package managerretires a fact.- The memory pane (sidebar, key 2): + / - say an item helped or was wrong, e edits, d forgets, m opens the map.
mnemo memory tidylists duplicates, facts about files that are gone, and what you marked wrong;--applyretires them.- Recall is trust-weighted: what helped ranks higher, and what you marked wrong twice stops coming back.
Search quality
Search uses a local hashing embedder, which is offline and plain. To do better, point it at your own embedding server (an Ollama on this machine, say) with MNEMO_EMBED_URL and MNEMO_EMBED_MODEL. For OpenRouter, set MNEMO_EMBED_URL=https://openrouter.ai/api/v1/embeddings and the key in MNEMO_EMBED_KEY. A model key alone sends nothing: until you set MNEMO_EMBED_URL, memory never leaves your machine.
Share it with other agents
The same memory can serve Claude Code (hooks) and Codex, Cursor and opencode (MCP):
mnemo memory setup claude-codemnemo memory setup codexmnemo memory ingestOnly attach memory to agents and repositories you trust with all of it: a project's identity comes from its git origin.
#Updating
mnemo updateInstalls the latest release with the same checksum-checked installer. Inside Mnemo, /update does the same. On Windows the running mnemo.exe can be replaced, so this works from inside the app.
mnemo update --checkonly says whether there is a newer version.mnemo update --auto onadds a daily check at launch that tells you and never installs on its own. Off by default; until you turn it on, Mnemo contacts nothing but your model provider.- Installed with Homebrew or Scoop? Use
brew upgrade mnemoorscoop update mnemo. - Pre-releases and older versions are on GitHub; what changed is in the changelog.
#Uninstalling
mnemo uninstallRemoves the program (mnemo, memsrv and the PATH link). What it learned stays: memory, sessions, credentials and settings, so a later install picks up where you left off.
mnemo uninstall --deepAlso deletes ~/.mnemo: memory, sessions, credentials, skills, logs and settings. It lists what it will remove and waits until you type delete. Add --yes to skip the questions in a script.
No working mnemo? The installer does the same, from the same address you installed with:
curl -fsSL https://mnemo.atmanmishra.dev/install.sh | sh -s -- --uninstall$env:MNEMO_UNINSTALL=1; irm https://mnemo.atmanmishra.dev/install.ps1 | iexAdd --deep (Windows: $env:MNEMO_UNINSTALL="deep") for the full removal. Installed with Homebrew or Scoop: brew uninstall mnemo / scoop uninstall mnemo, and mnemo uninstall --deep first if you want the data gone.
#Where things live
Everything is under $MNEMO_HOME, which defaults to ~/.mnemo and is private to you (mode 0700).
| Path | What |
|---|---|
bin/ | mnemo and memsrv. |
memory/journal.jsonl | Memory: the append-only journal that is the only source of truth. |
agent/auth.json | Keys you added with /login, mode 0600. |
agent/ | Settings, sessions, skills and prompt templates. |
permissions.json | Your allow, ask and deny rules. |
logs/ | Redacted JSONL records of tool calls and turns. |
Project-level files (.agents/ extensions, prompts and skills) load only for folders you trust.
#Troubleshooting
Start with mnemo doctor; it names what is missing. Then:
mnemo: command not found- The installer prints the line to add if your PATH lacks its link folder:
export PATH="$HOME/.local/bin:$PATH"in~/.profile. Or run~/.mnemo/bin/mnemodirectly. On Windows, open a new terminal after installing. - "It is not using my model" / "no model"
- Run
/loginthen/model. Mnemo also picks up provider keys from your environment, which can choose a provider by default; unset the ones you do not want. - The memory sidecar is missing or will not start
mnemo doctor --fixreinstalls it. If you keep the binaries in different folders, putmemsrvbesidemnemo. On Windows, amnemo.exerun from where it was unzipped, or anothermnemoearlier on your PATH, is a common cause:mnemo doctorsays so, andmnemo installfrom the unzipped folder fixes it.- Edits and commands are refused
- A
permissions.jsonthat cannot be parsed blocks them on purpose. Fix the file (or set it aside) and restart.doctor --fixsets a broken settings file aside. - The mouse wheel scrolls Mnemo and I want to select text
/mousetoggles it, or start withMNEMO_MOUSE=0.- Links, notifications or animations are unwanted
MNEMO_LINKS=0,MNEMO_NOTIFY=0,--no-motionand--no-boot.- A command the agent runs cannot see my API key
- That is deliberate. Hand one back with
MNEMO_PASS_ENV=NAME.
Still stuck
Open an issue with the output of mnemo doctor and what you did. Mnemo redacts common credential shapes in its logs, but read anything before you paste it. Vulnerabilities go through private reporting, not public issues.