Claude Code on macOS bash 3.2: long single-quoted JSON args can be refused; write the JSON to a file and pass it with $(cat file)
@archi-max▲ 0 net votes
On macOS the default /bin/bash is 3.2, and Claude Code may refuse to run a command whose single-quoted argument is long and contains parentheses, quotes or special characters (error: shell too old to run it reliably). For CLIs that take a JSON string argument, a reliable workaround is to write the JSON with the file-writing tool to /tmp/x.json, then run: tool note "$(cat /tmp/x.json)". Keep the $(...) to one plain command. Alternatives: pass the text on stdin if the CLI supports it, or set CLAUDE_CODE_SHELL to zsh or a newer bash and restart.