概要
bashツールはClaudeに以下を提供します:- 状態を保持する永続的なbashセッション
- あらゆるシェルコマンドを実行する能力
- 環境変数とワーキングディレクトリへのアクセス
- コマンドチェーンとスクリプト機能
モデル互換性
| モデル | ツールバージョン |
|---|---|
| Claude 4モデルとSonnet 3.7 (非推奨) | bash_20250124 |
古いツールバージョンは新しいモデルとの後方互換性が保証されていません。常にモデルバージョンに対応するツールバージョンを使用してください。
ユースケース
- 開発ワークフロー: ビルドコマンド、テスト、開発ツールを実行
- システムオートメーション: スクリプト実行、ファイル管理、タスク自動化
- データ処理: ファイル処理、分析スクリプト実行、データセット管理
- 環境セットアップ: パッケージインストール、環境設定
クイックスタート
動作方法
bashツールは永続的なセッションを保持します:- Claudeが実行するコマンドを決定
- bashシェルでコマンドを実行
- 出力(標準出力と標準エラー出力)をClaudeに返す
- セッション状態はコマンド間で保持される(環境変数、ワーキングディレクトリ)
パラメータ
| パラメータ | 必須 | 説明 |
|---|---|---|
command | はい* | 実行するbashコマンド |
restart | いいえ | trueに設定してbashセッションを再起動 |
restartを使用する場合を除き必須 使用例
使用例
例:マルチステップオートメーション
Claudeはコマンドをチェーンして複雑なタスクを完了できます:bashツールの実装
bashツールはスキーマレスツールとして実装されています。このツールを使用する場合、他のツールのような入力スキーマを提供する必要はありません。スキーマはClaudeのモデルに組み込まれており、変更することはできません。1
bash環境をセットアップ
Claudeが対話できる永続的なbashセッションを作成します:
2
コマンド実行を処理
コマンドを実行して出力をキャプチャする関数を作成します:
3
Claudeのツール呼び出しを処理
Claudeの応答からコマンドを抽出して実行します:
4
安全対策を実装
検証と制限を追加します:
エラーを処理
bashツールを実装する場合、さまざまなエラーシナリオを処理してください:コマンド実行タイムアウト
コマンド実行タイムアウト
コマンドの実行に時間がかかりすぎる場合:
コマンドが見つからない
コマンドが見つからない
コマンドが存在しない場合:
アクセス許可が拒否されました
アクセス許可が拒否されました
アクセス許可の問題がある場合:
実装のベストプラクティスに従う
コマンドタイムアウトを使用
コマンドタイムアウトを使用
ハングするコマンドを防ぐためにタイムアウトを実装します:
セッション状態を保持
セッション状態を保持
環境変数とワーキングディレクトリを保持するためにbashセッションを永続的に保つ:
大きな出力を処理
大きな出力を処理
トークン制限の問題を防ぐために非常に大きな出力を切り詰めます:
すべてのコマンドをログ
すべてのコマンドをログ
実行されたコマンドの監査証跡を保持します:
出力をサニタイズ
出力をサニタイズ
コマンド出力から機密情報を削除します:
セキュリティ
bashツールは直接的なシステムアクセスを提供します。これらの重要な安全対策を実装してください:
- 隔離された環境(Docker/VM)での実行
- コマンドフィルタリングとホワイトリストの実装
- リソース制限の設定(CPU、メモリ、ディスク)
- すべての実行されたコマンドのログ記録
主な推奨事項
ulimitを使用してリソース制約を設定- 危険なコマンド(
sudo、rm -rfなど)をフィルタリング - 最小限のユーザー権限で実行
- すべてのコマンド実行を監視およびログ記録
価格
The bash tool adds 245 input tokens to your API calls. Additional tokens are consumed by:- Command outputs (stdout/stderr)
- Error messages
- Large file contents
一般的なパターン
開発ワークフロー
- テストの実行:
pytest && coverage report - プロジェクトのビルド:
npm install && npm run build - Git操作:
git status && git add . && git commit -m "message"
ファイル操作
- データ処理:
wc -l *.csv && ls -lh *.csv - ファイル検索:
find . -name "*.py" | xargs grep "pattern" - バックアップ作成:
tar -czf backup.tar.gz ./data
システムタスク
- リソース確認:
df -h && free -m - プロセス管理:
ps aux | grep python - 環境セットアップ:
export PATH=$PATH:/new/path && echo $PATH
制限事項
- 対話型コマンドなし:
vim、less、またはパスワードプロンプトを処理できない - GUIアプリケーションなし:コマンドラインのみ
- セッションスコープ:会話内で永続化、API呼び出し間で失われる
- 出力制限:大きな出力は切り詰められる可能性がある
- ストリーミングなし:完了後に結果が返される