原文(日本語訳)
ripgrep 検索のタイムアウトがエラーを報告せず、静かに空の結果を返していた問題を修正しました
原文(英語)
Fixed ripgrep search timeouts silently returning empty results instead of reporting errors
概要
Claude Code の検索機能(ripgrep)がタイムアウトした際に、エラーを表示せずに空の結果を返していた問題が修正されました。これにより、検索が実際に何も見つからなかったのか、タイムアウトしたのかを明確に判断できるようになります。
修正された問題
以前は、ripgrep 検索がタイムアウトした場合:
- エラーメッセージが表示されない
- 空の結果が返される
- 検索失敗なのか、本当に結果がないのか判断できない
- Claude が誤った判断をする可能性がある
修正後は、タイムアウトが発生すると明確なエラーメッセージが表示されます:
Search timed out after 30 seconds
Consider narrowing your search pattern or increasing the timeout検索タイムアウトのカスタマイズ
必要に応じて、タイムアウト時間を延長できます。
bash
# 環境変数でタイムアウトを設定(ミリ秒)
export RIPGREP_TIMEOUT_MS=60000 # 60秒
claudeまたは、設定ファイルに記述:
json
{
"env": {
"RIPGREP_TIMEOUT_MS": "60000"
}
}注意点
- 明確なエラー: タイムアウト時には明確なエラーメッセージが表示されます
- デフォルト値: デフォルトのタイムアウトは30秒です
- 検索範囲: 大規模なリポジトリでは、検索パターンを絞り込むことを推奨します
- パフォーマンス: タイムアウトを長く設定しすぎると、応答時間が遅くなります
- パターン最適化: 正規表現パターンを最適化することで、タイムアウトを回避できます
- エラーハンドリング: Claude はタイムアウトエラーを認識し、検索を調整します
トラブルシューティング
検索がタイムアウトする場合の対処法:
検索範囲を絞る
bash
# 特定のディレクトリに限定
claude
> src ディレクトリ内で "MyComponent" を検索してくださいより具体的なパターンを使用
bash
# 正規表現を最適化
claude
> "^import.*Button" を検索(行頭から始まる import のみ)除外パターンを活用
bash
# node_modules などを除外
claude
> node_modules を除外して検索してください