From 0d9990746fe96564de08f20b43797dc5f897566d Mon Sep 17 00:00:00 2001 From: Jakub Zika Date: Mon, 5 Oct 2026 18:20:00 +0200 Subject: [PATCH] Stop asking models for a shell_command description The shell_command prompt told models to "write a clear, concise description of what this command does in 5-10 words", but the tool has no such param. Models that follow Claude Code habits (GLM, Kimi, DeepSeek) then sent a `description` arg: 1861 of 2288 unknown-arg tool calls found in saved chats. Unknown args are now rejected with an INVALID_ARGS error, so each of those calls would cost a retry turn. Remove the line so the prompt no longer asks for an arg the schema does not accept. --- CHANGELOG.md | 1 + resources/prompts/tools/shell_command.md | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6708f7ea4..10e926932 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased - Reject unknown tool args (e.g. `offset` for `read_file`) with an `INVALID_ARGS` error listing supported params; MCP tools only when `additionalProperties: false`. +- Stop the `shell_command` prompt from asking for a description of the command, as the tool has no such param and calls with it now fail. ## 0.161.3 diff --git a/resources/prompts/tools/shell_command.md b/resources/prompts/tools/shell_command.md index 5b53163f9..e09810cf3 100644 --- a/resources/prompts/tools/shell_command.md +++ b/resources/prompts/tools/shell_command.md @@ -24,7 +24,6 @@ Background execution: Usage notes: - The `command` argument is required. - - It is very helpful if you write a clear, concise description of what this command does in 5-10 words. - When issuing multiple commands, use the ';' or '&&' operator to separate them. DO NOT use newlines (newlines are ok in quoted strings). - For search and reading, default to `eca__grep`, `eca__read_file`, and `eca__directory_tree` (bounded, line-numbered output) over shell `grep`, `cat`, `head`, `tail`, `ls`. If the user explicitly asks for the shell command (e.g. to pipe), run it as asked. - Commands start in the workspace root (or `working_directory`); `cd` does not persist between them, so prefer absolute paths.