v0.4 research preview

Install FERNme

Runs on your own machine. No account, no service to sign up for.
You need Python 3.10 or newer and uv — the plugin fetches everything else itself.

Claude Code

  1. Run both commands from inside Claude Code.
/plugin marketplace add mirkofr/FERNme
/plugin install fernme-memory@fernme-local

The marketplace is named fernme-local, so the install target is fernme-memory@fernme-local.

Cowork

  1. Open Customize, then Plugins.
  2. Select +, then Add marketplace from GitHub.
  3. Enter https://github.com/mirkofr/FERNme
  4. Install fernme-memory and authorize the MCP server when prompted.

Codex

  1. Codex reads the marketplace from a checkout, so clone first.
git clone https://github.com/mirkofr/FERNme
cd FERNme
codex plugin marketplace add ./packaging/codex

Newly installed MCP tools do not attach to tasks that are already open. Start a new task, and restart Codex if the FERNme tools still do not appear.

The one setting that matters

FERNme keeps memory in a single SQLite file, by default at ~/.fernme/fernme.db. If you install it into more than one agent, point them all at the same file — otherwise each host quietly builds its own separate profile and they never meet.

Set FERNME_DBto the same path in every host’s MCP configuration. The shipped config ships that slot deliberately empty:

"env": {
  "FERNME_DB": "/Users/you/.fernme/fernme.db"
}

Already installed? fernme-mcp --print-db-path prints the path it resolved. Keep the file out of Dropbox or iCloud folders — SQLite and file-level sync corrupt each other.

  1. 1

    Give it permission

    Nothing is stored until consent exists for a site and user. Ask the agent to grant it, or let it ask you.

    Turn on FERNme memory for me.

  2. 2

    Remember something

    Stable preferences, habits, constraints, and goals are what the engine is for — not a transcript of the chat.

    Remember that I prefer concise answers and short code comments.

  3. 3

    Recall it somewhere else

    Open a different agent pointed at the same database and it starts from the same card of roughly 25 tokens.

    What do you know about how I like to work?

  4. 4

    Look at it yourself

    The local graph UI shows every stored preference, its evidence, and its weight. Nothing is hidden from you.

    pip install "fernme[ui]"
    fernme-ui
  5. 5

    Erase it

    Removal is a first-class operation: the profile goes, and the person is unlearned from the population prior too.

    Forget everything you know about me.

Every call names a site and a user

A leftover from FERNme’s per-site origin: memory is scoped to a pair, so one engine can serve many people without mixing them. On a personal setup, set FERNME_SITE and FERNME_USER once and forget they exist.

Guesses are queued, not stored

When an agent infers something rather than being told it, the tag goes into a review queue instead of into memory. It stays a suggestion until you accept it — only you promote anything to truth.

FERNme is a research preview at v0.4. It is Apache-2.0, published benchmarks are synthetic or LLM-authored, and a real-human pilot is still pending. Setup details live in docs/mcp.md.

FERNme is an Apache-2.0 research preview at v0.4, with 283 passing tests.
Published results are synthetic or LLM-authored; a real-human pilot is the pending next step.