[Feature Request] Use git fixup workflow for amending non-HEAD commits
Resolved 💬 3 comments Opened Mar 30, 2026 by HarryChen Closed May 4, 2026
Bug Description
title: Claude should use commit + fixup workflow when amending older commits
Key points:
- When asked to amend changes into a non-HEAD commit, Claude uses stash + rebase edit + stash pop, which causes cascading merge conflicts
- The correct approach is: git commit --fixup=<target> then git rebase -i --autosquash
- This is a 2-step operation that git handles cleanly, vs 14+ steps with manual conflict resolution
- This should be part of Claude's git knowledge, not just a per-user memory
Environment Info
- Platform: darwin
- Terminal: iTerm.app
- Version: 2.1.84
- Feedback ID: 83a0f2a6-ed19-48d4-9baf-95b47be35e71
Errors
[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/harrychen/.local/share/claude/versions/2.1.84 (expected in multi-process scenarios)\n at Jm_ (/$bunfs/root/src/entrypoints/cli.js:2740:2168)\n at tlT (/$bunfs/root/src/entrypoints/cli.js:2740:1326)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-26T16:08:22.243Z"},{"error":"FileTooLargeError: File content (449.3KB) exceeds maximum allowed size (256KB). Use offset and limit parameters to read specific portions of the file, or search for specific content instead of reading the whole file.\n at SKH (/$bunfs/root/src/entrypoints/cli.js:935:8462)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-26T16:09:16.192Z"},{"error":"Error: Failed to download binary from https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/2.1.85/darwin-arm64/claude: ENOSPC: no space left on device, write\n at Cv$ (/$bunfs/root/src/entrypoints/cli.js:2738:4366)\n at async eF6 (unknown)\n at async Ki6 (unknown)\n at async dv$ (unknown)\n at async Oi6 (unknown)\n at unknown\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-27T00:28:47.972Z"},{"error":"ENOSPC: no space left on device, write","timestamp":"2026-03-27T00:28:47.973Z"},{"error":"Error: Failed to fetch version from https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest: ECONNREFUSED\n at Zv$ (/$bunfs/root/src/entrypoints/cli.js:2738:2084)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-27T01:28:07.509Z"},{"error":"Error: Failed to fetch version from https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest: ECONNREFUSED\n at Zv$ (/$bunfs/root/src/entrypoints/cli.js:2738:2084)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-27T01:28:07.510Z"},{"error":"Error: ECONNREFUSED\n at from (/$bunfs/root/src/entrypoints/cli.js:120:14295)\n at <anonymous> (/$bunfs/root/src/entrypoints/cli.js:128:12938)\n at emitError (node:events:43:23)\n at <anonymous> (node:_http_client:253:22)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/src/entrypoints/cli.js:130:2467)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-27T04:17:07.245Z"},{"error":"MaxFileReadTokenExceededError: File content (16084 tokens) exceeds maximum allowed tokens (10000). Use offset and limit parameters to read specific portions of the file, or search for specific content instead of reading the whole file.\n at R$A (/$bunfs/root/src/entrypoints/cli.js:4484:23589)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-27T04:20:44.810Z"},{"error":"MaxFileReadTokenExceededError: File content (16084 tokens) exceeds maximum allowed tokens (10000). Use offset and limit parameters to read specific portions of the file, or search for specific content instead of reading the whole file.\n at R$A (/$bunfs/root/src/entrypoints/cli.js:4484:23589)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-27T04:20:48.434Z"},{"error":"MaxFileReadTokenExceededError: File content (16084 tokens) exceeds maximum allowed tokens (10000). Use offset and limit parameters to read specific portions of the file, or search for specific content instead of reading the whole file.\n at R$A (/$bunfs/root/src/entrypoints/cli.js:4484:23589)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-27T04:20:52.284Z"},{"error":"Error: File does not exist. Note: your current working directory is /Users/harrychen/git/OSS/versitygw.\n at call (/$bunfs/root/src/entrypoints/cli.js:4493:6118)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-27T04:37:00.047Z"},{"error":"Error: 1P event logging: 1 events failed to export (code=ECONNABORTED, timeout of 10000ms exceeded)\n at queueFailedEvents (/$bunfs/root/src/entrypoints/cli.js:397:2647)\n at async doExport (/$bunfs/root/src/entrypoints/cli.js:397:1516)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-03-27T06:04:27.749Z"},{"error":"Error: {\"message\":\"Failed to export 1 events (…
Note: Content was truncated.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗