mirror of
https://wget.la/https://github.com/leookun/cursor-byok
synced 2026-10-04 02:52:55 +08:00
The tool dispatcher already treats `bash`/`Bash` as an alias of `Shell` (routing, `is_shell_tool`, and `block_until_ms` normalization), but the codec only matched `shell`: - `tool_placeholder` returned `unsupported tool: bash`, which aborts the turn while streaming the tool call, before it ever runs; - `request` returned `tool bash is not executed through ExecServerMessage` (after already reserving an exec slot); and - `stream_closed` built its shell-specific error result only for `Shell`. Anthropic models frequently emit `Bash` even when the tool is advertised as `Shell`, so the alias must hold across the codec. Match `bash` wherever the codec special-cases `shell`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>