You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
--model argument now double-quoted in assembled claude_args string — behavioral change in edge case #148
This diff changes CLAUDE_ARGS="--model $MODEL" to CLAUDE_ARGS="--model \"$MODEL\"", embedding literal escaped-quote characters in the string. The comment acknowledges this is "defensive against future charset drift rather than a live fix," and the model charset validation already precludes any whitespace that would require quoting. However, the behavior change is real: the string passed through $GITHUB_OUTPUT and consumed by claude-code-action now contains literal \" around the model name. If parseShellArgs in the action correctly handles embedded escaped quotes (as it apparently does for the existing --allowed-tools pattern), this is fine. But it differs from the pre-existing unquoted form and has not been tested in a live run. Consider verifying with a real @claude trigger that the model value is correctly received after this change.
Context
This issue was automatically created from a non-blocking concern identified
during pre-push whole-codebase review. It was flagged for tracking.
Verified this is a misreading of bash source-level escaping, not a real behavioral change.
CLAUDE_ARGS="--model \"$MODEL\"" uses backslash-escaped quotes because the assignment is itself double-quoted. The backslashes are consumed by bash at parse time; they are not part of the resulting value. Raw bytes written to $GITHUB_OUTPUT:
c l a u d e _ a r g s = - - m o d e l " c l a u d e - o p u s - 4 - 7 " \n
Plain " characters, no backslashes. This is byte-for-byte the same quoting form --allowed-tools has always emitted, which parseShellArgs tokenizes as real shell quoting. Since the model charset excludes whitespace, the quotes are also semantically inert after tokenization — the action receives the identical model string either way.
Activity
twistedmelonman commentedon Aug 18, 2026
Verified this is a misreading of bash source-level escaping, not a real behavioral change.
CLAUDE_ARGS="--model \"$MODEL\""uses backslash-escaped quotes because the assignment is itself double-quoted. The backslashes are consumed by bash at parse time; they are not part of the resulting value. Raw bytes written to$GITHUB_OUTPUT:Plain
"characters, no backslashes. This is byte-for-byte the same quoting form--allowed-toolshas always emitted, whichparseShellArgstokenizes as real shell quoting. Since the model charset excludes whitespace, the quotes are also semantically inert after tokenization — the action receives the identical model string either way.Addressed in #149. Closing as not-an-issue.