Troubleshooting
Common issues and the fix for each. Start with blamely doctor — it prints the specific fix command for most problems.
blamely doctor is your friend
blamely doctorRead-only. Tells you which piece is broken and prints the exact command to repair it. Run this first for anything weird.
No attribution bar after commit
- Confirm the daemon is up:terminal
blamely status - Confirm hooks are wired:terminal
blamely doctor - Make sure you edited files before committing. Blamely attributes edits it observed within a lookback window (8 hours by default).
- Check the daemon log:terminal
tail -n 50 ~/.blamely/daemon.log
Daemon offline
blamely installRe-registers the daemon with your platform’s service manager (launchd / systemd / Scheduled Task). Idempotent and safe.
If blamely status still shows offline:
blamely daemon # run in foreground to see startup errorsCtrl+C to stop it once you’ve seen the error.
blamely not found
The CLI is installed but PATH doesn’t include it. Either restart your terminal, or:
source ~/.zshrc # zsh
source ~/.bashrc # bashThe binary is always available at the stable path:
~/.blamely/bin/blamely statusYou can use that path directly if the shell rc edit didn’t take effect (e.g., a custom shell init that ignores rc files).
AI tool not detected
blamely detectLists what Blamely sees. If your tool isn’t there, either it’s not installed in a standard location, or you installed it after Blamely. Fix:
blamely install # idempotent, picks up newly-installed toolsAll my lines show as Human
A few common causes:
- The tool isn’t hooked. Run
blamely detectandblamely doctor. - Inline Tab completion without a plugin. Cursor Tab and similar inline completions don’t fire hooks — only the editor plugin can see them. Install VS Code, Cursor, or JetBrains.
- The edit happened more than 8 hours before the commit. That’s outside the default lookback window.
- The work came from Devin Cloud. Cloud commits are attributed by the
post-mergehook when yougit pullthem. Ifblamely doctorreports thepost-mergescript missing, re-runblamely install.
Stale per-repo hooks
If you used an older Blamely version, your repos may have .git/hooks/post-commit files left behind. Clean them up:
blamely repair --dry-run # preview what would be removed
blamely repair # actually remove themThe global core.hooksPath hook takes over.
Conflicting core.hooksPath
blamely install sets git config --global core.hooksPath to ~/.blamely/git-hooks/. If you have a different value for legitimate reasons (Husky, a corporate setup, etc.), check what’s there:
git config --global core.hooksPathYou can place your custom hooks into ~/.blamely/git-hooks/ and they’ll run alongside Blamely’s. Or, for a one-off repo, set core.hooksPath locally to override the global.
Editor plugin shows no data
- Is the CLI installed? The plugin reads from
~/.blamely/db.sqlite— no CLI, no data. - Is the daemon running?
blamely status. The plugin posts inline-completion events to the daemon; if it’s offline, those events are dropped (the plugin logs a single warning per 30s). - Are you in a git repo? The plugin only emits events for files inside a git working tree.
Database / state recovery
If something is badly broken and you want to start clean without losing notes:
blamely uninstall
rm -rf ~/.blamely
blamely install # re-detect tools, register daemon, re-write hooksExisting notes on commits are unaffected.
Need help?
blamely doctor— almost always tells you the fix.~/.blamely/daemon.log— the daemon’s running log.- GitHub Issues — for bugs and feature requests.
Next
- CLI commands — what each command does.
- Configuration & paths — what’s stored where.
Something unclear or wrong? Tell us.