Your journal's settings live in .journal/config.yaml in your journal repository. This file is committed to git — it travels with your notes. The only thing that's never in this file is API keys; those come from environment variables.
Run journal doctor after changing any model setting to verify your configuration.
Where embeddings come from: ollama (local, recommended) or openai (any OpenAI-compatible endpoint).
embed_model
qwen3-embedding:4b
The Ollama model used to embed your notes and queries. Pull it with ollama pull qwen3-embedding:4b.
embed_dim
2560
Must match your embedding model's output size. Run journal doctor to check — it probes the model and tells you the right value. If you change models, run journal index --rebuild.
reranker
"" (off)
Optional Ollama model (e.g. qwen3:4b) for re-ranking search results. Off by default; vector search alone is strong.
ollama_base_url
http://localhost:11434
Where Ollama is running. Change this only if you've moved Ollama to a different port or host.
store_path
.journal/index/journal.db
Path to the search index. This file is gitignored and can be deleted and rebuilt at any time.
excludes
(see above)
Files and folders the indexer skips. reflections/ (synthesis output) and .journal/ (the index) are excluded by default.
The editor for journal capture with no text. Run as a shell command, so code --wait works. Empty falls back to $JOURNAL_EDITOR, then $VISUAL, then $EDITOR, then nano.
When true, blocks all cloud AI paths: cloud synthesis is refused, and journal mcp is blocked by default (see local_only_mcp). Use this for a fully air-gapped setup.
local_only_mcp
block
Under local_only, whether journal mcp can run: block (default) or allow. Set to allow if your MCP client runs a local model and you're confident nothing leaves your machine.