Skip to content

fix: remove spurious repair_json call in _validate_tool_input that could skip Attempt 3#4836

Open
SinzoL wants to merge 1 commit intocrewAIInc:mainfrom
SinzoL:fix/4851-validate-tool-input-spurious-repair
Open

fix: remove spurious repair_json call in _validate_tool_input that could skip Attempt 3#4836
SinzoL wants to merge 1 commit intocrewAIInc:mainfrom
SinzoL:fix/4851-validate-tool-input-spurious-repair

Conversation

@SinzoL
Copy link

@SinzoL SinzoL commented Mar 13, 2026

In _validate_tool_input(), Attempt 2 (ast.literal_eval) has an except branch that calls repair_json(tool_input). This variable is never read before Attempt 4 reassigns it, making it dead code. Worse, if repair_json itself raises, Attempt 3 (json5) is skipped entirely. Replace with pass. Fixes #4851


Note

Low Risk
Low risk, small control-flow change limited to tool argument parsing; it mainly prevents an unnecessary repair_json invocation from skipping the JSON5 parse path if it raised.

Overview
Fixes tool input parsing control flow. In ToolUsage._validate_tool_input, the ast.literal_eval failure path no longer calls repair_json (dead code), so failures proceed cleanly to the JSON5 parse attempt before the final JSON repair step.

This avoids repair_json exceptions prematurely bypassing Attempt 3 and makes parsing behavior more predictable.

Written by Cursor Bugbot for commit cb62b7c. This will update automatically on new commits. Configure here.

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