Configuration
All of it is environment variables, all of it defaults to on, and all of it is set where the host gives its MCP server and hooks their environment.
Switches
| Variable | Default | Effect |
|---|---|---|
MEMOOSE_HINTS | on | 0 stops injecting relevant-memory hints before each prompt |
MEMOOSE_AUTO_RECALL | on | 0 stops injecting standing context at session start |
MEMOOSE_AUTO_CAPTURE | on | 0 stops background capture entirely |
MEMOOSE_AUTO_MAINTAIN | on | 0 stops the daily offer to run memoose maintain |
MEMOOSE_MAINTAIN_EVERY_HOURS | 24 | How often that offer may appear |
MEMOOSE_HINT_COUNT | 4 | How many hints may be injected at most |
MEMOOSE_HINT_MIN_SCORE | 0.5 | Relevance floor below which Memoose stays silent |
MEMOOSE_CAPTURE_MODEL | haiku | Which small model does the background extraction |
MEMOOSE_CAPTURE_MIN_CHARS | 400 | How substantial a turn must be before capture spends anything |
MEMOOSE_CAPTURE_TIMEOUT | 300 | Seconds a background capture job may take |
MEMOOSE_DATA_DIR | ~/.memoose | Where the SQLite files live |
MEMOOSE_PROJECT_DIR | host launch directory | Which directory the default dataset name is derived from |
MEMOOSE_EMBEDDER | auto | hash (no download) or fastembed (needs the extra) |
Scopes and where data lives
One SQLite file per scope, under ~/.memoose/<dataset>.sqlite. There is no server
and no daemon: the file is yours to open, copy, back up or delete. What you recall from it
becomes context for your host's model, the same as any other text the agent reads.
- The project dataset is the default, and its name is derived from the directory the host launched the server in. Facts about this codebase, its decisions and its owners belong here.
- The
userdataset holds facts about you that hold everywhere: your preferences, your conventions, how you like to work.
recall searches the project dataset and then the user dataset and merges the results,
with the project's own facts taking precedence, so a project convention overrides a personal
default without you having to say so. Pass include_user=false to search only the project,
or datasets=[…] to be explicit. list_datasets shows every scope on
the machine and where its file is.
Embeddings
The vector channel of hybrid retrieval needs embeddings, and Memoose computes them locally rather than calling an API. Two options:
- hash
- A keyless hashed fallback. No model download, no network, works everywhere. This is what you get
by default if
fastembedis not installed. - fastembed
- Real local embeddings, better semantic recall, one model download. Install the extra
(
uv sync --extra fastembed) and it is picked automatically.
auto uses fastembed when it is importable and hash
otherwise. Set MEMOOSE_EMBEDDER explicitly to pin one. The lexical channel is BM25 either
way, so retrieval works with no embedder worth the name.
Turning it all off
Setting the three switches to 0 leaves you with exactly the tools: nothing runs unless
the agent calls it. Uninstalling is removing the MCP server entry from the host's config, the skills
directory it copied in, and (if you want the memory gone too) the SQLite files under
~/.memoose. forget(whole_dataset=true) does the last part from inside the
host, and asks for confirmation first.