Repository navigation
Tested end to end against the real Claude Code 2.1.295, Codex 0.162.0, Gemini CLI 0.63.0 and aider
0.86.2 (with a scripted local model, see scripts/e2e), and against the hook payloads and output
validators of the Cursor agent CLI 2026.10.01. Fixes for everything that turned up:
- New
dibs doctor [--json]: checks dibs is on PATH, the pre-commit hook really runs, Claude Code
disableAllHooks, Codex hook trust (Codex skips untrusted project hooks silently), Gemini folder
trust (Gemini ignores project settings in untrusted folders), disabled hooks, and logged hook errors. - Claude Code: the
askdialog does not show the hook's reason, so dibs adds asystemMessagefor you. - Cursor: the turn brief now goes out with the prompt (
beforeSubmitPromptadditional_context) and is
repeated after the first tool call; the postToolUse matcher isWrite|Delete|Shell(Cursor's real tool
names). Cursor also runs.claude/settings.jsonhooks: dibs now recognises them so Cursor's work is not
credited to Claude, and defers to its Cursor hooks when both are installed. - aider:
dibs runpasses the brief to aider with--read(it was printed but never reached the model),
and prints a warning plus thedibs restorecommand when the run undid your lines. - pre-commit: the dibs line is inserted right after the shebang; appended after another tool's
exec ...line it never ran. - Large repositories:
dibs initon 30,000 files went from 52 s to 1.2 s (onegit cat-file --batch-check
instead of a process per file, faster scanning); hooks read only the tail of the journal
(0.1–0.4 s per hook on that repository).scripts/bench.pymeasures it. - Lock: a lock is broken when its owner process died, and otherwise only after 120 s, so a slow scan is
not interrupted by a second process. dibs watch: keeps running through errors (each reported once), skips a round when a hook holds the
lock, stops when the repository disappears, no longer pauses forever for an agent that crashed mid-turn
(--agent-timeout, default 3 h), and backs off on big trees.- Init messages now say how to trust the hooks in Codex and Gemini.