If git merge --abort throws, the repo is left mid-merge. Previously the code logged a warning and returned a conflict result, giving the UI a stale file list. Now it returns Blocked with an explicit message so the caller knows manual resolution is required. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>