Skip to main content
PMB needs no LLM for its core: recall, writes, and the read hook are all model-free. An LLM is only used by a few opt-in, off-the-hot-path commands (consolidate, reflect, distill, the llm:* graph extractor). For those, Ollama keeps everything local.

Set it up

Use it for the optional LLM passes

Backends resolve auto as Claude CLI → Anthropic → Ollama. Pin Ollama explicitly to stay fully offline.
The graph extractor can also run on Ollama for a cleaner knowledge graph: pmb config set graph.extractor llm:ollama. It never blocks the write path - on timeout it falls back to the regex extractor for that one event.

Model and endpoint precedence

Maintenance clients use explicit model/URL arguments first, then PMB_OLLAMA_MODEL / PMB_OLLAMA_URL (or OLLAMA_HOST for the URL), then workspace/global ollama.model and ollama.url, then built-in defaults. pmb ollama status and pmb ollama test use the same settings. pmb consolidate honors consolidate.backend unless --backend is supplied; --backend auto explicitly requests auto detection.
An HTTP 404 from a running Ollama server can mean the selected model is missing. Check ollama list and pull that exact model; it is distinct from a connection failure. Embedding-model settings remain separate from generation-model settings.