Olliver Schinagl <oliver@xxxxxxxxxxx> writes: > See, the hook is named 'post-checkout' and thus, it runs after > checkout has been performed. So we are now on the 'broken' commit we > do not want to test, git should have skipped this already, and not > checked it out. You are not the only user of this feature (by the way, do not call this a "hook". It should be per "git bisect" session) and others may need to actually inspect their working tree state before being able to say "nah, I do not want to test this version, please give me another one" by exiting with 125. That is why post-checkout is more useful in general. Contrasted with that, a check that happens before the checkout is useful only in a much narrower "I can tell by looking only at the commit object name" use case, which I would not be interested in seeing. Thanks.