Skip to content

fix: use temp file for large diffs to avoid command-line length limits#8

Open
DawidGrzejek wants to merge 6 commits intojuanlb:mainfrom
DawidGrzejek:fix/command-length-limit
Open

fix: use temp file for large diffs to avoid command-line length limits#8
DawidGrzejek wants to merge 6 commits intojuanlb:mainfrom
DawidGrzejek:fix/command-length-limit

Conversation

@DawidGrzejek
Copy link

When git diffs are very large, the base64-encoded prompt can exceed the command-line argument length limit (~8KB on many systems), causing ENAMETOOLONG errors.

This fix:

  • Detects when prompts exceed 100KB
  • Writes them to a temporary file instead
  • Pipes the file content to Claude CLI
  • Cleans up temp files automatically
  • Works on all platforms (Linux, macOS, Windows)

Fixes issues with large commits that have extensive diffs.

DawidGrzejek and others added 6 commits December 16, 2025 12:34
- Skip bash/zsh shell detection on Windows platform
- Use PowerShell for base64 decoding on Windows
- Set appropriate shell (powershell.exe vs bash) based on platform
- Conditional PATH environment variable configuration
- Bump version to 1.0.1 and rename package to claude-commit
- Add customInstructions setting for inline custom rules
- Add instructionsFilePath setting to load rules from file
- Support both relative and absolute file paths
- File instructions take precedence over inline instructions
- Update README with configuration examples

Addresses #2
When git diffs are very large, the base64-encoded prompt can exceed
the command-line argument length limit (~8KB on many systems), causing
ENAMETOOLONG errors.

This fix:
- Detects when prompts exceed 100KB
- Writes them to a temporary file instead
- Pipes the file content to Claude CLI
- Cleans up temp files automatically
- Works on all platforms (Linux, macOS, Windows)

Fixes issues with large commits that have extensive diffs.
fix: add Windows support for Claude CLI detection and execution
feat: add custom commit message instructions support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant