I Pass Git Diffs to My AI Commit Generator as a Command-Line Argument. A Big Enough One Breaks It.
python
dev.to
Same project as usual: a small MCP server and a standalone script that both turn a git diff into a Conventional Commit message by shelling out to claude -p. Both call sites build the same shape of command: raw = subprocess.check_output( ["claude", "-p", "--safe-mode", full], # full = system prompt + diff, one argv element text=True, timeout=20, stderr=subprocess.PIPE, ) full is the whole prompt — instructions plus the entire staged diff — packed into a single item in th