Tool Argument Correction
GitAuto detects when the model passes arguments meant for one tool to another and automatically swaps the tool name to match the arguments. This is distinct from tool name correction: here the arguments are correct, but the tool name is wrong.
Why This Exists
The model sometimes picks the wrong tool name while providing perfectly valid arguments for a different tool. The most common case is passing a unified_diff argument to write_and_commit_file instead of apply_diff_to_file. The model knows it wants to apply a diff but grabs the wrong tool name. Without correction, the tool would receive arguments it does not expect, causing either an error or worse, writing the raw diff text as the file content.
Why Models Pick the Wrong Tool
When the agent has multiple tools with overlapping purposes (e.g., both write_and_commit_file and apply_diff_to_filemodify files), the model sometimes selects the wrong one while correctly constructing the arguments for the intended tool. The model generates the tool name and arguments together in one pass, and if it starts with the wrong tool name, the rest of the output still follows the intended tool's argument structure. Training data contains many similar function names for file operations, so the model has weak signal about which exact name maps to which behavior.
How It Works
Before executing a tool call, GitAuto inspects the arguments. If the arguments contain keys that are specific to a different tool (e.g., unified_diff belongs exclusively to apply_diff_to_file), the system swaps the tool name to match. This is a lightweight check based on argument key signatures, not content inspection.
Detected: Tool write_and_commit_file called with unified_diff argument
Corrected: Swapped to apply_diff_to_file which expects that argument
Related Features
- Tool Name Correction - Maps hallucinated tool names to real ones
- Diff Hunk Repair - Fixes the diff content itself after routing to the correct tool
Need Help?
Have questions or suggestions? We're here to help you get the most out of GitAuto.
Contact us with your questions or feedback!