dawnmere
How Dawnmere works
Updated November 9, 2026 · version 0.1.5 · early beta
Dawnmere is a free tool for Macs that gives Claude Code, Codex and Cursor one shared long-term memory. Tell one of them a decision, such as "we deploy on Fridays" or "use pnpm, not npm", and the others can recall it. The memory is one SQLite file on your Mac, search runs on your Mac with small local models, and there is no account.
Install
curl -fsSL https://dawnmere.app/install | sh
- Needs a Mac with Apple silicon (M1 or later), macOS 14 or later, about 1 GB of free disk space, and Node.js 18 or later.
- The address forwards to
install.sh on the latest GitHub release. The script checks its downloads against sha256 values written into it, then starts dawnmere setup.
- Setup shows what it will change and asks first. It backs up every file it edits,
dawnmere setup --dry-run prints the changes without making them, and dawnmere uninstall puts the files back.
What happens when you tell one app something
- You say something worth keeping in one app.
- Dawnmere saves it once, in the memory on your Mac, with a note of where it came from.
- When another app gets a prompt where that memory matters, a hook adds it to the prompt, labelled as notes, not instructions.
- Every app can also search and save on its own through four MCP tools:
recall, remember, forget and access_status.
How each app saves and recalls
| App | Recalls | Saves |
| Claude Code | into each prompt, and at the start of a session | on its own after a session goes quiet (if you chose a model), when you type "remember that ...", or when the model calls remember |
| Codex | into each prompt | when you type "remember that ...", or when the model calls remember |
| Cursor | at the start of each chat | when the model calls remember |
Setup connects Claude Code (through the lflabs-memory plugin), Codex (an MCP entry in ~/.codex/config.toml and a prompt hook; type /hooks once to trust it) and Cursor (an MCP entry and a session-start hook; restart Cursor). Other MCP apps, such as Claude Desktop, can run the connector by hand: npx -y dawnmere-connector.
Where the memory lives
- One SQLite file in
~/Library/Application Support/LF Labs/Memory/, readable only by you.
- Search is local: vector search (sqlite-vec), full-text search (FTS5) and a reranker, using small ONNX models (bge-small and MiniLM) on the CPU. There is no embedding service.
- A background service (a LaunchAgent) keeps search fast. Each app reaches it through
dawnmere-connector, a small MCP server from npm that stores nothing itself.
What leaves your Mac
- Your memory is never uploaded, and nothing is sent to LF Labs. The tool collects no usage data.
- If you choose a model for background reading, a finished Claude Code conversation goes to your own provider, through your Claude plan or your Anthropic API key, at most 200 calls a day, to pick out what is worth remembering. That conversation was already going to Anthropic.
- Without a model (
dawnmere setup --backend none), recall and remember still work and automatic saving is off.
- Downloads come from GitHub, PyPI and npm. Each app decides for itself what it sends to its own model, including what it recalls.
Access levels and safety
- Each app has an access level:
everything, nothing-personal, work or nothing. Cursor and any new app start with work notes only. dawnmere access cursor everything widens that; an AI can ask for wider access, but the change applies only when you approve it.
- Every memory records its origin: you, the assistant, or outside text such as a web page the agent read. Instruction-shaped text from the assistant or from outside sources is refused, so a README your agent read cannot become one of your rules. Text that looks like a key, token or password is not saved.
forget takes a memory out of search, including its exact copies, and masks emails, phone numbers and long numbers in it. It can be restored; lflabs-memory purge ID deletes one for good.
- This is a screen built from rules and a classifier, not a guarantee. Review what is saved with
dawnmere export.
Why not CLAUDE.md or AGENTS.md?
Use them for rules you write on purpose; Dawnmere does not replace them, and setup imports the notes Claude Code already keeps in ~/.claude/projects/*/memory. Dawnmere is for the things you say in passing and don't want to copy into three files. Recall is selective, so an app gets the memories that match the prompt rather than the whole file every time.
Limits
- Mac only: Apple silicon and macOS 14 or later. No Intel Macs, Linux or Windows.
- One Mac: no sync between machines and no team memory.
- Saving is strongest from Claude Code. Codex's own session files are read only if you run
dawnmere setup --codex-sessions.
- Early beta, with frequent releases.
Names you will see
Dawnmere is made by LF Labs (Hadeva-Dev on GitHub), so the programs use that name inside: the MCP server id and Claude Code plugin are lflabs-memory, the data folder is LF Labs/Memory, and an API key is kept in your Keychain as "LF Labs Memory".
License
The installer, the dawnmere command, the Claude Code plugin and the connector are MIT. The engine is source-available under the Functional Source License 1.1 with an MIT future license (FSL-1.1-MIT): each version becomes MIT two years after its release. Its source and license text ship in the engine wheel attached to every release.
Links
Questions: hello@dawnmere.app. Dawnmere is made by LF Labs.