メインコンテンツへスキップ
レッスン 4 / 8|11分で読めます

ツールとパーミッション

Claude Codeにはファイルを読む、書く、コマンドを実行するなどの道具がある。どこまでやらせるかは自分で決める。

ツールとパーミッション

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.txt
Allow? [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」を押す。次に「そのファイルの中身を見せて」と頼み、今度は確認なしでスムーズに実行される違いを体験してほしい。