Skip to content

原文(日本語に翻訳)

macOS と Linux のネイティブビルドで、Glob ツールと Grep ツールが Bash ツール経由で利用できる組み込みの bfsugrep に置き換えられました。別途ツールのラウンドトリップが不要になり、より高速な検索が可能です(Windows と npm インストールビルドは変更なし)。

原文(英語)

Native builds on macOS and Linux: the Glob and Grep tools are replaced by embedded bfs and ugrep available through the Bash tool — faster searches without a separate tool round-trip (Windows and npm-installed builds unchanged)

概要

macOS・Linux のネイティブビルドで、ファイル検索に使われる Glob ツールと Grep ツールが、組み込みの bfs(幅優先ファイル検索)と ugrep(高速 grep 実装)に置き換わりました。以前は専用ツールとして別途呼び出していたため1回の「ツールラウンドトリップ」が発生していましたが、今回から Bash ツール経由で直接実行されるため、ファイル検索やパターンマッチングが高速化されます。

基本的な使い方

Claude Code ユーザーからは変更が透過的に行われるため、特別な操作は不要です。Claude は自動的に bfsugrep を使用します。

直接 Bash ツールで使う場合:

bash
# bfs でファイルを検索(find より高速)
bfs . -name "*.ts" -type f

# ugrep でパターンマッチング(grep より高速)
ugrep -r "useState" src/

実践例

ファイル検索の高速化

bash
# 大規模プロジェクトでのファイル検索
# bfs は幅優先探索なので浅いディレクトリから素早く結果を返す
bfs /project -name "*.tsx" -not -path "*/node_modules/*"

# TypeScript ファイルを更新日時でフィルタリング
bfs . -name "*.ts" -newer package.json

高速なコード検索

bash
# ugrep は Unicode 対応かつ高速
# -r: 再帰検索, -l: ファイル名のみ表示
ugrep -rl "export default" src/

# 正規表現を使った検索
ugrep -r "useState\|useEffect" --include="*.tsx" src/

# 行番号付きで表示
ugrep -rn "TODO:" . --include="*.ts"

既存の Glob/Grep との互換性

Claude Code は内部的に変換を行うため、以下のような以前の動作は引き続き機能します。

# 以前の Glob ツール相当の操作
find . -name "*.ts"  # → bfs . -name "*.ts" として実行

# 以前の Grep ツール相当の操作
grep -r "pattern" .  # → ugrep -r "pattern" として実行

注意点

  • この変更は macOS・Linux のネイティブビルド(Homebrew や公式インストーラーでインストールした場合)のみ対象です
  • Windows および npm インストール版npm install -g @anthropic-ai/claude-code)は変更なく従来の Glob/Grep ツールを使用し続けます
  • ユーザーが明示的に Bash コマンドで findgrep を使う場合は、引き続きシステムの find/grep が使われます(bfs/ugrep は Claude の内部処理で優先されます)

関連情報