Fix: Prevent CLI option injection in --print argument #182
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
User input prompt (
command
inserver/claude-cli.js:spawnClaude
) was parsed as additional CLI options if it began with-
. For example,--print --help
would trigger the help screen instead of treating--help
as text, causing unexpected behavior.Reproduction
Open any session and send
--help
to Claude.In the console output we can see:
Solution
Insert
--
before the user-supplied command so it is always interpreted as a positional argument:Fixed final command:
This ensures user input is treated as plain text, preventing flag injection across platforms.