backcheck install puts a Stop hook in the critical path of every Claude Code session. That is
where the tool earns its keep, and also where a bad decision costs the most: a hook that blocks
on honest work, or blocks twice in a row, is worse than no hook at all.
Current behaviour: on finding unsupported claims it returns decision: "block" with the reasons,
unless stop_hook_active is set (which would risk a loop). Panics are caught, a missing
transcript is tolerated, and any failure degrades to "say nothing and let the turn finish".
Ways it could be better:
Data that would help
If you install the hook and it blocks on something that was actually fine, that is a bug worth
reporting — see #6. Real examples of unnecessary blocks are the fastest way to
tune the thresholds, and they will shape whatever configuration format lands here.
Rule that must hold
Whatever changes: never break a session. Any malformed input, missing file, timeout, or
internal error must end with the turn completing normally. That property is worth more than any
feature on this list.
backcheck installputs a Stop hook in the critical path of every Claude Code session. That iswhere the tool earns its keep, and also where a bad decision costs the most: a hook that blocks
on honest work, or blocks twice in a row, is worse than no hook at all.
Current behaviour: on finding unsupported claims it returns
decision: "block"with the reasons,unless
stop_hook_activeis set (which would risk a loop). Panics are caught, a missingtranscript is tolerated, and any failure degrades to "say nothing and let the turn finish".
Ways it could be better:
.backcheck.tomlchoosing what blocks vs. what onlywarns. Some teams will want
contradictedto block andqualifiedto stay quiet.without uninstalling entirely
A very large transcript on a slow disk is the case to worry about.
backcheck doctor— confirm the hook is installed correctly, the binary is onPATH,and show what it would have said about the last session
block, for people who want the signal without the interruption
SessionEndas an alternative toStop, for reporting without ever blockingData that would help
If you install the hook and it blocks on something that was actually fine, that is a bug worth
reporting — see #6. Real examples of unnecessary blocks are the fastest way to
tune the thresholds, and they will shape whatever configuration format lands here.
Rule that must hold
Whatever changes: never break a session. Any malformed input, missing file, timeout, or
internal error must end with the turn completing normally. That property is worth more than any
feature on this list.