ツールとパーミッション
CLAUDE.mdで「何を作るか」を伝えられるようになった。次は、Claude Codeが裏側でどう動いているかを知ろう。
Claude Codeには道具がある
ただの会話AIではない。ファイルを開いて読む、新しく作る、コマンドを実行する。こうした操作の一つ一つをツールと呼ぶ。
人間がメモ帳を開いたり検索をかけたりするのと同じだ。Claude Codeも場面に応じて道具を選んで使う。
主なツール一覧
道具は主に6つ。
Read。ファイルの中身を読む。「何が書いてあるか見せて」で使われる。
Write。新しいファイルを作る。「index.htmlを作って」で使われる。
Edit。既存ファイルの一部を書き換える。「3行目のタイトルを変えて」で使われる。
Bash。ターミナルのコマンドを実行する。「npm installして」で使われる。
Grep。ファイルの中から文字列を探す。「エラーという文字があるファイルを探して」で使われる。
Glob。ファイル名のパターンで検索する。「.htmlで終わるファイルを全部出して」で使われる。
大事なのは、どの道具を使うかはClaude Codeが自分で判断するということ。「Readツールを使って」なんて言わなくていい。「このファイル見せて」と頼めば、勝手にReadを選んで実行する。
やってみよう: ツールの動きを観察する
実際に見てみよう。前回のプロジェクトフォルダでClaude Codeを起動する。
$cd ~/my-medical-site$claude
起動したら、こう頼む。
CLAUDE.mdの中身を見せて
画面にReadツールが動いた様子が出る。ファイルのパスと中身が表示されるはずだ。「読む」道具を自分で選んで使った。
次はこう。
test.txtというファイルを作って、中に「テスト」と書いて
ここで画面の動きが変わる。
パーミッション: やっていいですか?と聞いてくる
ファイルを読むだけなら、そのまま実行する。でも新しくファイルを作るときは、一度立ち止まって許可を求めてくる。
こんな表示が出る。
Claude wants to write to test.txtAllow? [y] Yes [n] No [a] Always allow
パーミッション(許可)の仕組みだ。「書き込んでいいですか?」と確認している。
Allowを押す前に一瞬確認する
Claude Codeが何をしようとしているか、ファイル名と内容をさっと見る。これだけで安全に使える。意図しないファイルを上書きしそうなときは「No」を選べばいい。取り返しのつかないことにはならない。
3つの選択肢
聞かれたら選べるのは3つ。
Yes。今回だけ許可する。次にまた同じことをしようとしたら、また聞いてくる。
Always allow。このセッション中は同じ種類の操作を聞かずに実行する。信頼できる作業が続くときに便利だ。
No。許可しない。その操作は実行されず、別の方法を提案してくることもある。
最初はYesで1つずつ確認するのがおすすめだ。慣れたらAlways allowでテンポを上げればいい。
どんなときに聞かれるか
全部の操作で聞かれるわけではない。目安がある。
ファイルを読むだけ(Read、Grep、Glob)はそのまま実行される。見るだけだから壊れようがない。
ファイルを書く、書き換える(Write、Edit)は許可が要る。間違ったファイルを上書きするかもしれないからだ。
コマンド実行(Bash)も聞かれることが多い。パソコンへの命令なので、中身を見てから実行したほうが安全だ。
Read / Grep / Glob → 読むだけ → そのまま実行Write / Edit → 書き換える → 許可を求めるBash → コマンド実行 → 許可を求める
settings.json: 許可設定の保存場所
Always allowの設定は .claude/settings.json に保存される。Claude Codeが自動で管理するので、自分で触る必要はない。
「やっぱり毎回確認したい」と思ったら、このファイルを消せば初期状態に戻る。普通はそこまでしなくていい。
$ls .claude/settings.json.claude/settings.json
ファイルがあるか確認するだけのコマンドだ。中身を見たければこう打つ。
$cat .claude/settings.json
catはファイルの中身を表示するコマンド。
設定は手動で触らなくていい
settings.jsonはClaude Codeとの対話の中で自然に作られる。「このツール使っていい?」「いいよ」というやりとりの結果が記録されているだけだ。ファイルを直接編集する必要はない。
もう1つ試そう
Claude Codeを起動した状態で、こう頼む。
このフォルダにあるファイルを全部リストアップして
Bashツールでlsコマンドを実行しようとする。許可を求められたらYes。フォルダ内のファイル一覧が出る。
次はこう。
test.txtの中身を「パーミッションのテスト完了」に書き換えて
今度はEditツールが使われる。また許可が出る。内容を見てYes。
何度かやると、読む操作はスムーズ、書く操作やコマンド実行では確認が入る、というリズムが体に馴染んでくる。
まとめ
Claude Codeは6つのツール(Read、Write、Edit、Bash、Grep、Glob)を使い分ける。書き換えやコマンド実行のときだけ許可を求めてくる。Yes、Always allow、Noの3択。これがパーミッションだ。
安全装置が最初から入っている。大事なファイルをうっかり消すような事故は起きにくい。許可画面が出たら内容を一瞬見る。それだけで安心して使える。
次のレッスンでは、コードの変更履歴を管理するGitを学ぶ。「前の状態に戻したい」と思ったとき、これに救われる。
明日のアクション
Claude Codeを起動して「テスト用のHTMLファイルを1つ作って」と頼んでみよう。パーミッションの確認画面が出たら、ファイル名と内容を確認してから「Yes」を押す。次に「そのファイルの中身を見せて」と頼み、今度は確認なしでスムーズに実行される違いを体験してほしい。