Shiraude Code Docs
用語2026年8月4日Bashツールツール権限設定コマンド実行Claude Code

Bashツールとは?Claudeがコマンドを実行する仕組み

Bashツールは「Claudeの手足」

Claude Codeを使っていると、こちらが「テストを流して」とお願いするだけで、勝手に npm test を実行して結果を読んで、失敗しているところを直してくれる、みたいな場面があります。あれを支えているのが Bashツール です。

名前のとおり、シェル(Bash)のコマンドを実行するための機能です。Claudeは「このコマンドを実行したい」という判断をして、Bashツールを通じてあなたのターミナル上でそれを走らせ、標準出力やエラーメッセージを読み取って次の行動を決めます。

例えるなら、Claudeが「頭」で、Bashツールは「手」です。頭の中でいくら「たぶんこのファイルが原因だな」と考えても、実際に手を動かしてコマンドを打たない限り、確認はできません。ファイルを読む・書くための専用ツールが別にある一方で、ビルド・テスト・git操作・パッケージインストールといった「作業」の大半は、このBashツール経由で行われます。

何が起きているのか

流れとしてはこうなっています。

あなたが依頼する
Claudeが実行するコマンドを決める
Bashツールでコマンド実行
出力を読んで次の判断

大事なのは、コマンドが実行されるのはあなたのマシンの中だということ。クラウド上の別の環境ではなく、いま自分がClaude Codeを起動しているディレクトリで、自分の権限で動きます。だからこそ便利で、だからこそ注意が必要です。

許可を求められるのはなぜか

初めて使うと、「このコマンドを実行してもいいですか?」という確認が出てきて、少し面倒に感じるかもしれません。でもこれは意図的な設計です。

lsgit status のような見るだけのコマンドと、rm -rfgit push のように取り返しがつかないコマンドは、危険度がまったく違います。Claudeが良かれと思って実行したコマンドで、コミットしていない変更が消える可能性もゼロではありません。だから実行前に人間が目を通す関門が挟まっているわけです。

使い慣れてくると「毎回聞かれるコマンド」が見えてきます。よく使う安全なコマンドは許可設定で自動承認にしておくと、確認の回数がぐっと減って快適になります。逆に、破壊的なコマンドはあえて毎回確認させておくのが無難です。

初心者がつまずきやすいところ

対話が必要なコマンドは相性が悪い

実行後に「y/n」を求めてくるコマンドや、エディタが開いて入力を待つようなコマンドは、Claudeが答えられずに止まってしまうことがあります。git commit をメッセージなしで実行するとエディタが立ち上がるのと同じ話で、こういう場合は -m-y のような、対話しないためのオプションを付ける形が向いています。

長時間かかる処理

開発サーバーの起動のように終わらないコマンドをそのまま実行すると、待ち続けることになります。Claudeも空気を読んでバックグラウンド実行しようとすることがありますが、意図と違う動きをしていたら「バックグラウンドで動かして」と伝えるのが早いです。

出力が膨大なコマンド

ログを全部吐き出すようなコマンドを実行すると、その出力がそのままClaudeに渡ります。読ませる情報が増えれば増えるほど、本題から注意がそれやすくなります。greptail で絞ってから見せる方が、結果的に精度も上がります。

ファイル編集はBashでやらせない方がいい

「Bashが使えるなら sed でファイルを書き換えればいいのでは」と思うかもしれませんが、Claude Codeにはファイルの読み書きに特化した別のツールが用意されています。そちらを使った方が、変更差分が確認しやすく、意図しない置換も起きにくい。Bashツールは「実行するもの」担当、ファイル編集は編集用ツール担当、という役割分担で考えておくと混乱しません。

使いこなすコツ

結局のところ、Bashツールの良さは「Claudeが自分で結果を確かめられる」点にあります。コードを書いて、テストを走らせて、落ちたら直して、また走らせる。この輪が回るかどうかで体験がかなり変わります。

だから、プロジェクトのテストコマンドやビルドコマンドが何なのかを最初に伝えておくと効きます。毎回説明するのが面倒なら、プロジェクトの設定ファイルに書いておく手もあります。「どのコマンドを叩けば正解が分かるのか」をClaudeに教えておくことが、地味ですが一番効く工夫です。

このページは役に立ちましたか?