Hi, the exit value of a `git checkout' seems to depend on the exit values of the hooks it runs. This breaks for example `git bisect', as seen in the following example. $ mkdir gitbug $ cd gitbug $ git init $ ln -s /bin/false .git/hooks/post-commit $ git bisect start $ git bisect reset fatal: invalid reference: master Could not check out original HEAD 'master'. Try 'git bisect reset <commit>'. -ap