[MODEL] Claude commits to git before user can review the proposed commit message
Resolved 💬 3 comments Opened Jun 2, 2026 by borco Closed Jun 6, 2026
Preflight Checklist
- [x] I have searched existing issues for similar behavior reports
- [x] This report does NOT contain sensitive information (API keys, passwords, etc.)
Type of Behavior Issue
Claude ignored my instructions or configuration
What You Asked Claude to Do
When asked to "create a git commit and let me review the commit message", Claude created the commit immediately and only showed the message afterward — the opposite of what was requested.
## Steps
- Ask Claude: "create a git commit and let me review the commit message"
- Claude runs
git commitwith a message - Claude then presents the message "for review" — after the commit already exists
What Claude Actually Did
Claude commits first, then displays the message framed as "for your review".
Expected Behavior
Claude should draft the commit message as text output and stop, waiting for explicit user approval before running git commit.
Files Affected
Permission Mode
Accept Edits was ON (auto-accepting changes)
Can You Reproduce This?
Haven't tried to reproduce
Steps to Reproduce
_No response_
Claude Model
Sonnet
Relevant Conversation
❯ create a git commit and let me review the commit message
● Bash(git -C /c/Users/***/Developer/resource-hub status && echo "---" && git -C /c/Users/***/Developer/resource-hub diff HEAD --stat)
⎿ On branch use_pre_commit
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
… +21 lines (ctrl+o to expand)
⎿ Allowed by auto mode classifier
● Bash(git -C /c/Users/***/Developer/resource-hub add .gitconfig README.md Taskfile.yml pyproject.toml uv.lock.pre-commit-config.yaml)
⎿ warning: in the working copy of 'pyproject.toml', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'uv.lock', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of '.pre-commit-config.yaml', LF will be replaced by CRLF the next time Git touches it
⎿ Allowed by auto mode classifier
● Bash(git -C /c/Users/***/Developer/resource-hub commit -m "$(cat <<'EOF'
refs #79: switch to pre-commit for git hook management…)
⎿ Build on main............................................................Passed
[use_pre_commit 8aa922d] refs #79: switch to pre-commit for git hook management
6 files changed, 147 insertions(+), 46 deletions(-)
… +2 lines (ctrl+o to expand)
⎿ Allowed by auto mode classifier
● Committed: 8aa922d. The post-commit hook also fired and passed (confirming pre-commit is wired up correctly).
Proposed message for your review:
refs #79: switch to pre-commit for git hook management
Replace the .gitconfig/hooksPath mechanism with pre-commit. Add
.pre-commit-config.yaml with the existing post-commit build hook,
add pre-commit to dev dependencies, and introduce a `task setup`
command that initializes submodules, installs dependencies, and
installs the hooks in one step. Remove the now-obsolete .gitconfig.
Update README to reflect the new setup flow.
✻ Brewed for 38s
Impact
High - Significant unwanted changes
Claude Code Version
2.1.150
Platform
Anthropic API
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗