Configure
DevRecall reads ~/.devrecall/config.json. You can edit it directly or
use devrecall config set <key> <value> for individual keys.
For the full schema, see Configuration reference. This page covers the things you’ll change most.
Pick an LLM
Section titled “Pick an LLM”DevRecall talks to LLMs in three modes — pick one (or chain them):
Local Ollama (free, private)
Section titled “Local Ollama (free, private)”Install Ollama, pull the default model, and DevRecall picks it up automatically:
ollama pull gemma4If you want a different model, set it in ~/.devrecall/config.json:
{ "llm": { "provider": "ollama", "model": "gemma4" }}Larger models give richer brag docs and chat answers; smaller models are faster for daily standups. Pick whatever fits your machine.
OpenAI
Section titled “OpenAI”{ "llm": { "provider": "openai", "model": "gpt-5.4-mini" } }# Key stored in OS keychain, never in config.jsondevrecall auth openaiAnthropic
Section titled “Anthropic”{ "llm": { "provider": "anthropic", "model": "claude-sonnet-4-6" } }devrecall auth anthropicFallback chain
Section titled “Fallback chain”If the primary LLM is down or rate-limited, DevRecall falls through to the next:
{ "llm": { "provider": "anthropic", "model": "claude-sonnet-4-6", "fallback": [ { "provider": "openai", "model": "gpt-5.4-mini" }, { "provider": "ollama", "model": "gemma4" } ] }}The implicit final step is a template-based output (no LLM at all). The free path always works.
Connect sources
Section titled “Connect sources”Git is configured in config.json (see
Git integration). The rest use OAuth or API tokens:
devrecall auth slackdevrecall auth google # Google Calendardevrecall auth github # add --method pat or --method gh-cli for non-OAuthdevrecall auth gitlabdevrecall auth bitbucketdevrecall auth jiradevrecall auth lineardevrecall auth status # see what's connectedEach command:
- Opens a browser (OAuth) or prompts for an API token
- Stores the token in
~/.devrecall/tokens/<source>.json(0600) or the OS keychain - Flips the source’s
enabled: trueinconfig.json
Sync behavior
Section titled “Sync behavior”The desktop app and devrecall serve run sync on a schedule. Without
either, sync is on-demand only (you call devrecall sync yourself).
To run as a background daemon:
devrecall daemon install # launchd on macOS, systemd user unit on Linuxdevrecall daemon uninstallServer port
Section titled “Server port”The local HTTP API binds to 127.0.0.1:3725 by default
(“DRCL” on a phone keypad). Change it in config.json:
{ "server": { "port": 9876 } }Or override per-run: devrecall serve --port 9876. The desktop app
reads server.port from the config.
Privacy
Section titled “Privacy”DevRecall ships with no telemetry. There’s no opt-in toggle, no analytics payload, no usage counters. The only DevRecall-server traffic is the OAuth relay (Slack/Google/Jira/Linear callbacks) and the version kill-switch check.
See Privacy model for the full breakdown of what does and doesn’t leave your machine.