Skip to content

原文(日本語に翻訳)

  • Edit、Bash、Grepツール入力での断続的な「expected boolean, received string」バリデーションエラーを修正

原文(英語)

  • Fixed intermittent "expected boolean, received string" validation errors on Edit, Bash, and Grep tool inputs

概要

Edit、Bash、Grepツールの入力パラメータで、断続的に「expected boolean, received string(ブーリアンが期待されているが文字列を受け取った)」というバリデーションエラーが発生する問題が修正されました。この問題はモデルがツールパラメータをJSON文字列として返す場合に発生し、例えばブーリアン値が true の代わりに "true" として返されるケースがありました。修正により、文字列形式のブーリアン値も正しく処理されるようになりました。

基本的な使い方

この修正は内部的な型変換の改善であり、ユーザー側での対応は不要です。以前断続的に発生していたエラーが解消されます:

# 修正前: 時々発生していたエラー
Error: expected boolean, received string

# 修正後: エラーなく正常に動作

実践例

Editツールでの利用

ファイル編集時の replace_all パラメータなどでエラーが発生しなくなりました:

claude> すべてのconsole.logをconsole.debugに置換して
# 修正前: replace_allパラメータで断続的にバリデーションエラー
# 修正後: 正常に置換が実行される

Grepツールでの利用

Grepの -i(大文字小文字無視)などのブーリアンパラメータでエラーが発生しなくなりました:

claude> 大文字小文字を区別せずに"TODO"を検索して
# 修正前: -iパラメータで断続的にバリデーションエラー
# 修正後: 正常に検索が実行される

Bashツールでの利用

Bashツールの内部パラメータでも同様のエラーが発生しなくなりました:

claude> テストを実行して結果を見せて
# 修正前: 断続的にツール実行が失敗
# 修正後: 安定してコマンドが実行される

注意点

  • この問題は「断続的」に発生していたため、すべてのユーザーが経験していたわけではありません
  • モデルの出力形式に依存する問題であるため、使用するモデルや入力によって発生頻度が異なっていました
  • 修正はツールの入力バリデーション層で行われており、文字列の "true"/"false" をブーリアンに自動変換します
  • 既存のワークフローやスクリプトに影響はありません

関連情報