Skip to content

Troubleshooting

”config not found — run devrecall config init first”

Section titled “”config not found — run devrecall config init first””

You’re running a command before initial setup. Either run the wizard:

Terminal window
devrecall setup

or just initialize the config + database:

Terminal window
devrecall setup --quick

“Slack sync failed — token may have expired”

Section titled ““Slack sync failed — token may have expired””

Slack tokens occasionally need re-authorization (e.g., after a workspace policy change). Re-run:

Terminal window
devrecall auth slack

First sync pulls sync.initial_lookback_days (default 90 days) of history per source. After that, syncs are incremental and fast.

For Git, large monorepos with deep history can be slow on the first walk — narrow your scope with explicit git.repos instead of broad scan_paths.

Terminal window
ollama serve # start Ollama
ollama list # confirm your model is pulled

If you don’t want to use Ollama, switch to BYOK:

Terminal window
devrecall config set llm.provider openai
devrecall auth openai

DevRecall falls back through your configured chain. Check what happened:

Terminal window
devrecall status

To unblock immediately, configure a fallback (local Ollama is free):

{
"llm": {
"provider": "openai",
"fallback": [{ "provider": "ollama", "model": "gemma4" }]
}
}

Standups read like a list, not natural language

Section titled “Standups read like a list, not natural language”

You either don’t have an LLM configured, or all configured providers fell through to the template-based fallback. Confirm with devrecall status. To always force natural language, configure at least one working LLM (local Ollama is free).

Another DevRecall instance is probably running. Check:

Terminal window
curl -s http://127.0.0.1:3725/api/status

If something else is on the port:

Terminal window
devrecall config set server.port 9876
devrecall serve --port 9876

The desktop app reads server.port from the config and will follow the new port automatically.

SQLite uses WAL mode, but a hung process can still hold a lock. Find it:

Terminal window
lsof ~/.devrecall/devrecall.db

Kill the process and retry. If devrecall serve is the holder, use devrecall daemon instead of multiple serve instances.

Periodic activity accumulates. Prune old raw activities while keeping summaries:

Terminal window
devrecall prune --older-than 1y --keep-summaries

Storage is roughly 50 MB / year before pruning, much less after.

”devrecall is out of date and cannot run”

Section titled “”devrecall is out of date and cannot run””

A critical security update has shipped and the relay’s kill switch fired. The fix is the message — run:

Terminal window
devrecall update

This is the only command exempt from the kill switch.

Auto-update fails on macOS Homebrew install

Section titled “Auto-update fails on macOS Homebrew install”

Homebrew-installed binaries are managed by Homebrew. Update via:

Terminal window
brew update && brew upgrade devrecall-cli
# or for the cask:
brew upgrade --cask devrecall

”Did anything get sent to a DevRecall server?”

Section titled “”Did anything get sent to a DevRecall server?””

Two short answers:

  • OAuth callback for Slack, Google, Jira, Linear — yes, the auth code passes through the relay (deleted within 60s, see Privacy model).
  • Version kill-switch check — once an hour, the CLI asks the relay whether the running build has been flagged unsafe. No identifying data is sent.
  • Telemetry — none. DevRecall does not collect telemetry.

LLM calls go directly to the provider (BYOK) or localhost:11434 (Ollama). DevRecall never proxies them.

github.com/pavelpilyak/devrecall/issues

Include:

  • devrecall --version
  • devrecall status output
  • The exact command and the full error