Skip to content

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.

DevRecall talks to LLMs in three modes — pick one (or chain them):

Install Ollama, pull the default model, and DevRecall picks it up automatically:

Terminal window
ollama pull gemma4

If 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.

{ "llm": { "provider": "openai", "model": "gpt-5.4-mini" } }
Terminal window
# Key stored in OS keychain, never in config.json
devrecall auth openai
{ "llm": { "provider": "anthropic", "model": "claude-sonnet-4-6" } }
Terminal window
devrecall auth anthropic

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.

Git is configured in config.json (see Git integration). The rest use OAuth or API tokens:

Terminal window
devrecall auth slack
devrecall auth google # Google Calendar
devrecall auth github # add --method pat or --method gh-cli for non-OAuth
devrecall auth gitlab
devrecall auth bitbucket
devrecall auth jira
devrecall auth linear
devrecall auth status # see what's connected

Each command:

  1. Opens a browser (OAuth) or prompts for an API token
  2. Stores the token in ~/.devrecall/tokens/<source>.json (0600) or the OS keychain
  3. Flips the source’s enabled: true in config.json

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:

Terminal window
devrecall daemon install # launchd on macOS, systemd user unit on Linux
devrecall daemon uninstall

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.

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.