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
fix: prevent internal options from leaking as CLI flags
- Add missing control_timeout nil guard in convert_option
- Change catch-all from blindly converting to CLI flags to logging a
warning and returning nil
- Change extra_args from list to map (flag => value or true for boolean
flags) to align with the Python SDK
- Add .claude/rules/options.md to remind about keeping Options and
CLI.Command in sync
When adding, editing, or removing options from the session schema, update the corresponding `convert_option` clause in `lib/claude_code/cli/command.ex`. Options that are not CLI flags need a `defp convert_option(:option_name, _value), do: nil` clause to prevent them from leaking to the CLI.
~s{Additional CLI arguments passed directly to the claude binary. Each element is a separate argument (e.g. ["--flag", "value"]).}
539
+
~s|Additional CLI arguments passed directly to the claude binary. Map of flag name to value string, or `true` for boolean flags (e.g. %{"--some-flag" => "value", "--bool-flag" => true}).|
0 commit comments