Skip to content

fix(cli): Fix printing of flattened nested lists and maps#656

Merged
JeanMertz merged 4 commits into
mainfrom
prr224
May 18, 2026
Merged

fix(cli): Fix printing of flattened nested lists and maps#656
JeanMertz merged 4 commits into
mainfrom
prr224

Conversation

@JeanMertz
Copy link
Copy Markdown
Collaborator

pre_render_for_prompt was gated entirely on FormatMode::Unattended, which meant tools using Json, or FunctionCall parameter styles would not show the tool call arguments before the approval prompt whenever run = "ask", unless format = "unattended" was set.

FormatMode::Ask exists solely to defer side-effecting custom formatters (user-controlled shell commands) until after the user has approved the call. Built-in styles are pure transformations with no side effects, so deferring them serves no safety purpose and actively harms the UX: the user cannot make an informed approval decision without seeing the call arguments.

The fix changes the pre-render gate to branch on ParametersStyle: Custom still respects FormatMode; Json, FunctionCall, and Off always pre-render regardless of format_mode.

Doc comments on ToolsDefaultsConfig::format and ToolConfig::format are updated to state clearly that the field only affects ParametersStyle::Custom.

`pre_render_for_prompt` was gated entirely on `FormatMode::Unattended`,
which meant tools using `Json`, or `FunctionCall` parameter styles would
not show the tool call arguments before the approval prompt whenever
`run = "ask"`, unless `format = "unattended"` was set.

`FormatMode::Ask` exists solely to defer side-effecting *custom*
formatters (user-controlled shell commands) until after the user has
approved the call. Built-in styles are pure transformations with no side
effects, so deferring them serves no safety purpose and actively harms
the UX: the user cannot make an informed approval decision without
seeing the call arguments.

The fix changes the pre-render gate to branch on `ParametersStyle`:
`Custom` still respects `FormatMode`; `Json`, `FunctionCall`, and `Off`
always pre-render regardless of `format_mode`.

Doc comments on `ToolsDefaultsConfig::format` and `ToolConfig::format`
are updated to state clearly that the field only affects
`ParametersStyle::Custom`.

Signed-off-by: Jean Mertz <git@jeanmertz.com>
JeanMertz added 3 commits May 18, 2026 21:07
Signed-off-by: Jean Mertz <git@jeanmertz.com>
Signed-off-by: Jean Mertz <git@jeanmertz.com>
Signed-off-by: Jean Mertz <git@jeanmertz.com>
@JeanMertz JeanMertz merged commit 851b585 into main May 18, 2026
14 checks passed
@JeanMertz JeanMertz deleted the prr224 branch May 18, 2026 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant