Troubleshooting
Common issues and their solutions.
Tip: Run
whogitit doctorfirst to diagnose most configuration issues automatically.
Installation Issues
whogitit command not found
Symptoms:
bash: whogitit: command not found
Solutions:
-
Check if installed:
ls ~/.cargo/bin/whogitit -
Add cargo bin to PATH:
# Add to ~/.bashrc or ~/.zshrc export PATH="$HOME/.cargo/bin:$PATH" # Reload source ~/.bashrc -
Reinstall:
cargo install --path /path/to/whogitit --force
Build fails
Symptoms:
error[E0433]: failed to resolve: could not find `xyz` in `abc`
Solutions:
-
Update Rust:
rustup update stable -
Clean and rebuild:
cargo clean cargo build --release -
Check dependencies:
cargo update
Capture Issues
No attribution data after commit
Symptoms:
whogitit statusshows “No pending AI attribution”whogitit show HEADshows no attribution
Quick Fix:
Run the doctor command to diagnose:
whogitit doctor
If doctor shows issues, run setup to fix them:
whogitit setup
Manual Solutions:
-
Check Claude hooks are configured:
cat ~/.claude/settings.json | jq '.hooks'Should show PreToolUse and PostToolUse entries.
-
Check capture script exists:
ls -la ~/.claude/hooks/whogitit-capture.sh -
Check capture script is executable:
chmod +x ~/.claude/hooks/whogitit-capture.sh -
Check debug logs:
cat .whogitit/state/hook-debug.log cat .whogitit/state/hook-errors.log -
Verify whogitit binary path:
# In capture script, check WHOGITIT_BIN which whogitit
Pending buffer not updating
Symptoms:
- Making edits with Claude but
whogitit statusshows old data
Solutions:
-
Check you’re in a git repo:
git rev-parse --show-toplevel -
Check pending file location:
ls -la .whogitit-pending.json -
Clear stale data and try again:
whogitit clear
Only some files tracked
Symptoms:
- Some AI edits are tracked, others aren’t
Solutions:
-
Check tool matcher in settings.json:
"matcher": "Edit|Write|Bash"Make sure all relevant tools are included.
-
For Bash commands: The hook tracks file changes. Ensure the files exist before the command.
Git Hooks Issues
post-commit hook not running
Symptoms:
- Commits work but no attribution is created
Solutions:
-
Check hook exists:
ls -la .git/hooks/post-commit -
Check hook is executable:
chmod +x .git/hooks/post-commit -
Check hook content:
cat .git/hooks/post-commitShould contain
whogitit post-commit. -
Reinstall hooks:
whogitit init
pre-push hook failing
Symptoms:
error: failed to push some refs to 'origin'
Solutions:
-
Push notes manually:
git push origin refs/notes/whogitit -
Check for notes divergence:
git fetch origin refs/notes/whogitit git log refs/notes/whogitit..FETCH_HEAD -
Force push notes (caution):
git push origin refs/notes/whogitit --force
Notes Issues
Notes not visible after clone
Symptoms:
- Cloned repo, but
whogitit blameshows no AI attribution
Solutions:
-
Fetch notes:
git fetch origin refs/notes/whogitit:refs/notes/whogitit -
Verify notes exist on remote:
git ls-remote origin refs/notes/whogitit -
Configure auto-fetch:
git config --add remote.origin.fetch '+refs/notes/whogitit:refs/notes/whogitit'
Notes missing after rebase
Symptoms:
- After rebasing, attribution data is gone
Cause: Git notes are attached to specific commit SHAs. Rebase creates new SHAs.
Solutions:
-
Install the post-rewrite hook (recommended):
whogitit initThis installs a
post-rewritehook that automatically preserves attribution during rebase and amend operations. Run this once per repository. -
Manually copy notes after the fact:
whogitit copy-notes <old-sha> <new-sha> -
For cherry-pick (not covered by hook):
whogitit copy-notes <original-sha> <cherry-picked-sha>
Corrupt note data
Symptoms:
Error: invalid JSON in note
Solutions:
-
View raw note:
git notes --ref=whogitit show <commit> | cat -
Remove corrupt note:
git notes --ref=whogitit remove <commit> -
Recreate if pending buffer exists: Not possible after buffer is cleared.
Output Issues
JSON parse errors
Symptoms:
Error: expected value at line 1 column 1
Solutions:
-
Check for empty output:
whogitit show HEAD 2>&1 | head -1 -
Verify note exists:
git notes --ref=whogitit show HEAD
Blame shows all “Unknown”
Symptoms:
whogitit blameshows?for all lines
Cause:
- File not in any commit with attribution
- Attribution data doesn’t include this file
Solutions:
-
Check if file has attribution:
whogitit show HEAD | grep -i "filename" -
Check commit history:
git log --oneline -- <file>
Performance Issues
Slow blame on large files
Symptoms:
whogitit blametakes long time on large files
Solutions:
-
Use
--revisionto limit scope:whogitit blame --revision HEAD~10 <file> -
Use JSON output for scripting:
whogitit blame --format json <file>
Large pending buffer
Symptoms:
.whogitit-pending.jsonis very large
Solutions:
-
Commit more frequently: Pending buffer grows with each edit.
-
Clear and restart:
whogitit clear
Getting Help
Run Doctor First
The doctor command checks all configuration automatically:
whogitit doctor
It verifies:
- whogitit binary is installed
- Capture hook is installed and executable
- Claude Code settings are configured
- Required tools (jq) are available
- Repository hooks are installed (if in a git repo)
If any checks fail, it provides fix hints.
Debug Mode
Enable verbose logging:
# For capture hook
export WHOGITIT_HOOK_DEBUG=1
# Then use Claude Code, check:
cat .whogitit/state/hook-debug.log
Reporting Issues
When reporting issues, include:
-
whogitit version:
whogitit --version -
OS and shell:
uname -a echo $SHELL -
Relevant logs:
cat .whogitit/state/hook-debug.log cat .whogitit/state/hook-errors.log -
Steps to reproduce
Report at: https://github.com/dotsetlabs/whogitit/issues
See Also
- Installation - Setup guide
- Hook System - Hook details
- FAQ - Common questions