はじめに
Claude Codeは、Anthropicが開発したターミナルベースのAIコーディングアシスタントです。VS CodeやCursorのようなGUIベースのツールとは異なり、コマンドラインインターフェース(CLI)で動作することで、より柔軟で強力な操作が可能になっています。
本記事は「○○したいときどうする?」という逆引き形式で、Claude Codeの機能を網羅的にまとめた決定版リファレンスです。第1章では基本操作から設定まで、日常的に使用する機能を詳しく解説します。
本記事の対象読者
- Claude Codeをインストールしたばかりで、基本操作を学びたい方
- Claude Codeを使っているが、もっと効率的に使いこなしたい方
- コマンドを忘れたときにサッと調べたい方
動作確認環境
本記事の内容は2025年時点での情報に基づいています。Claude Codeは頻繁にアップデートされるため、最新の情報は公式ドキュメントや /help コマンドで確認してください。
1. 基本操作・起動
1.1 Claude Codeを起動したい
最もシンプルな起動方法は、ターミナルで以下のコマンドを実行することです:
claude
これにより、インタラクティブなREPL(Read-Eval-Print Loop)セッションが開始されます。Claude Codeはカレントディレクトリをワーキングディレクトリとして認識し、そのディレクトリ以下のファイルにアクセスできるようになります。
VS Code / Cursorからの起動
Claude Code拡張機能がインストールされていれば、エディタの右上に表示されるAnthropicロゴ(Run Claude Code)ボタンをクリックして起動することもできます。この拡張機能は、初回の claude コマンド実行時に自動でインストールされるはずですが、インストールされていない場合は手動でインストールしてください。
起動時の注意点
- Claude Codeは起動したディレクトリをプロジェクトのルートとして認識します
- 大規模なプロジェクトでは、適切なサブディレクトリから起動することでコンテキストを絞り込めます
- 複数のターミナルウィンドウで同時に起動することも可能です
1.2 初期プロンプト付きで起動したい
起動と同時に質問を投げたい場合は、引数としてプロンプトを渡します:
claude "このプロジェクトの構造を説明して"
この方法は、すぐに作業を開始したい場合に便利です。Claude Codeはプロジェクトの構造を分析し、回答を生成した後もインタラクティブモードで待機するため、続けて質問や指示を行えます。
実用的な使用例
# プロジェクト概要の把握
claude "このリポジトリの主要なコンポーネントと依存関係を説明して"
# 特定ファイルの解析
claude "src/auth/middleware.ts のコードを読んで、認証フローを説明して"
# 即座にタスクを開始
claude "package.jsonを見て、使用しているテストフレームワークを教えて"
1.3 Claude Codeのバージョンを確認したい
現在インストールされているClaude Codeのバージョンを確認するには:
claude --version
# または短縮形
claude -v
バージョン情報は、バグ報告や機能の互換性確認の際に重要です。特に新機能が動作しない場合は、まずバージョンを確認してみてください。
1.4 Claude Codeを最新版にアップデートしたい
Claude Codeは頻繁にアップデートされ、新機能やバグ修正が追加されます。最新版にアップデートするには:
claude update
このコマンドは、利用可能な最新バージョンをダウンロードしてインストールします。アップデート後は、ターミナルを再起動することをお勧めします。
アップデートのベストプラクティス
- 重要な作業の前にはアップデートを避け、作業後にアップデートする
- チームで使用している場合は、バージョンを揃えることを検討する
- 大きなアップデート後は
/helpで新機能を確認する
1.5 非対話モード(Print Mode)で使いたい
スクリプトやCI/CDパイプラインでClaude Codeを使用する場合、非対話モード(Print Mode)が便利です:
claude -p "この関数の説明をして"
# または
claude --print "この関数の説明をして"
このモードでは、Claude Codeは質問に回答した後、すぐに終了します。インタラクティブな対話は行われません。
非対話モードの活用例
# コード分析の自動化
claude -p "src/ディレクトリのコードを分析して、改善点をリストアップして" > analysis.txt
# コミットメッセージの自動生成
git diff --staged | claude -p "この差分に対する適切なコミットメッセージを生成して"
# ドキュメント生成
claude -p "@src/api/routes.ts のAPIエンドポイントのドキュメントを生成して" > api-docs.md
# コードレビュー自動化
git diff HEAD~1 | claude -p "このコード変更をレビューして、問題点があれば指摘して"
注意点
非対話モードは便利ですが、複雑なタスクには向いていません。Claude Codeが内部で何を実行しているか見えにくく、エラーが発生した場合のデバッグも困難です。単純な質問や自動化タスクに限定して使用することをお勧めします。
1.6 パイプでファイル内容を渡したい
Unix/Linuxのパイプ機能を使って、他のコマンドの出力をClaude Codeに渡すことができます:
cat logs.txt | claude -p "このログを解析してエラーの原因を特定して"
この方法は、大量のデータや他のコマンドの出力をClaude Codeに処理させる場合に非常に便利です。
実践的なパイプ活用例
# ログ解析
tail -n 1000 /var/log/app.log | claude -p "このログからエラーパターンを抽出して"
# Git履歴の分析
git log --oneline -50 | claude -p "最近50件のコミット履歴を分析して、開発の傾向を教えて"
# 差分の説明
git diff main..feature-branch | claude -p "この差分を要約して、PRの説明文を作成して"
# プロセス情報の分析
ps aux | claude -p "リソースを多く使用しているプロセスを特定して"
# 依存関係の分析
npm ls --depth=0 | claude -p "このプロジェクトの主要な依存関係を説明して"
# 複数コマンドのパイプチェーン
git diff HEAD~5 | claude -p "変更を要約して" | claude -p "この要約を日本語に翻訳して"
1.7 複数のディレクトリをワーキングディレクトリに追加したい
モノレポや複数のプロジェクトを横断して作業する場合、追加のワーキングディレクトリを指定できます:
claude --add-dir ../apps ../lib ../tools
これにより、Claude Codeは指定したすべてのディレクトリにアクセスできるようになります。
モノレポでの活用例
# フロントエンドとバックエンドの両方にアクセス
claude --add-dir ../frontend ../backend
# 共有ライブラリも含めてアクセス
claude --add-dir ../packages/shared ../packages/ui ../apps/web
注意点
- 追加するディレクトリが実際に存在することを確認してください
- あまりにも多くのディレクトリを追加すると、コンテキストが散漫になる可能性があります
- 関連性の高いディレクトリのみを追加することをお勧めします
1.8 特定のモデルを指定して起動したい
Claude Codeでは、使用するAIモデルを指定できます:
# エイリアスで指定(推奨)
claude --model sonnet
claude --model opus
# 正式なモデル名で指定
claude --model claude-sonnet-4-5-20250929
claude --model claude-opus-4-5-20251101
モデルの選び方
| モデル | 特徴 | 推奨用途 |
|---|---|---|
| Opus | 最高の推論能力、複雑なタスクに強い | アーキテクチャ設計、複雑なバグ修正、難解なコードの理解 |
| Sonnet | バランスが良く高速、コスト効率が良い | 日常的なコーディング、リファクタリング、テスト作成 |
デフォルトの動作
Pro/Maxプランでは、デフォルトで使用制限の半分までOpusを使用し、その後Sonnetに切り替わります。常にOpusを使いたい場合は明示的に指定するか、 /model コマンドで設定を変更してください。
1.9 JSON形式で出力したい(自動化向け)
スクリプトでClaude Codeの出力をプログラム的に処理する場合、JSON形式での出力が便利です:
claude -p "コードを分析して" --output-format json
出力形式のオプション
| オプション | 説明 | 用途 |
|---|---|---|
text |
プレーンテキスト(デフォルト) | 人間が読む場合 |
json |
JSON形式 | プログラムでパース |
stream-json |
ストリーミングJSON | リアルタイム処理 |
JSON出力の活用例
# 分析結果をJSONで取得してjqで処理
claude -p "package.jsonの依存関係を分析して" --output-format json | jq '.content'
# セッションIDを取得して後で再開
SESSION_ID=$(claude -p "分析を開始" --output-format json | jq -r '.session_id')
claude -r "$SESSION_ID" "続きをお願い"
1.10 詳細なログを表示しながら実行したい
Claude Codeの内部動作を確認したい場合、verbose(詳細)モードを使用します:
# 詳細ログを表示
claude --verbose
# デバッグモード(カテゴリ指定可能)
claude --debug
claude --debug "api,mcp"
claude --debug "!statsig,!file" # 特定カテゴリを除外
verboseモードで確認できること
- ファイル編集のdiff
- 実行されるコマンドの詳細
- APIリクエスト/レスポンスの概要
- MCPサーバーとの通信
デバッグカテゴリの例
| カテゴリ | 内容 |
|---|---|
api |
APIリクエスト関連 |
mcp |
MCPサーバー通信 |
hooks |
フックの実行 |
file |
ファイル操作 |
2. 会話・セッション管理
2.1 前回の会話を続けたい(最新の会話)
Claude Codeを閉じてしまった後でも、最新の会話を再開できます:
claude -c
# または
claude --continue
このコマンドは、現在のディレクトリで最後に行われた会話を自動的に読み込み、続きから再開します。
重要な注意点
- 会話履歴はローカルマシンに保存されます
- 別のマシンからは同じ会話を継続できません
- 長期間経過した会話は、コンテキストが古くなっている可能性があります
活用シーン
- ターミナルを誤って閉じてしまった場合
- 休憩後に作業を再開する場合
- システムがクラッシュした後の復旧
2.2 過去の特定の会話を選んで再開したい
数日前の会話や、複数の会話から特定のものを選んで再開したい場合:
claude -r
# または
claude --resume
このコマンドを実行すると、過去の会話一覧が表示され、対話的に選択できます。
インタラクティブモードからの再開
Claude Codeを起動した後からでも再開できます:
/resume
特定のセッションIDで再開
セッションIDがわかっている場合は、直接指定できます:
claude -r "abc123" "続きをお願い"
claude --resume abc123 "このPRを完成させて"
2.3 会話履歴を全てクリアしたい
新しいタスクを始める際や、コンテキストがごちゃごちゃになった場合:
/clear
クリアすべきタイミング
- 新しい機能の実装を始めるとき
- 前の会話が現在のタスクと無関係になったとき
- Claude Codeが混乱した回答をし始めたとき
- トークン消費を抑えたいとき
プロのTips
頻繁に /clear を使うことが推奨されています。古い会話履歴を引きずると、以下の問題が発生します:
- トークン消費が増加する
- Claude Codeがコンテキスト圧縮に時間を使う
- 古い情報に基づいた回答が混じる可能性がある
2.4 会話を任意の位置まで巻き戻したい
Claude Codeが予期しない変更を行った場合や、別のアプローチを試したい場合:
ESC キーを2回連打
これにより、会話履歴から戻りたい位置を選択できるインターフェースが表示されます。
重要な注意点
- 会話は巻き戻りますが、ファイル編集は巻き戻りません
- Gitでこまめにコミットしておくことが重要です
- CursorのAgentにあるようなcheckpoint機能は現時点では未実装です
代替手段:明示的なundo依頼
さっきの変更を元に戻して
src/auth/login.ts への変更をundoして
2.5 コンテキストを圧縮して会話を続けたい
長い会話でコンテキストウィンドウがいっぱいになりそうな場合:
/compact
このコマンドは、会話履歴を要約して圧縮し、重要な情報を保持しながらトークン消費を削減します。
カスタム指示を付けた圧縮
特定の情報を確実に保持したい場合:
/compact 認証実装の詳細とデータベーススキーマの決定事項は必ず保持して
compactを使うべきタイミング
- 長時間の作業で会話が長くなったとき
/contextで使用量が高くなっているとき- レスポンスが遅くなってきたとき
- 新しいサブタスクに移行するとき
2.6 会話をファイルにエクスポートしたい
会話内容を保存したい場合:
/export filename.md
エクスポートされたファイルは、ドキュメンテーションやチームとの共有に活用できます。
2.7 セッションをフォーク(分岐)したい
現在の会話を維持しながら、別のアプローチを試したい場合:
claude --resume abc123 --fork-session
これにより、元のセッションを変更せずに、新しいセッションとして会話を続けられます。
活用シーン
- 2つの異なるアプローチを比較したい
- 実験的な変更を試したい
- チームメンバーと異なる方向性を探りたい
2.8 コンテキスト使用量を確認したい
現在どれくらいのコンテキストを使用しているか確認:
/context
カラーグリッドでコンテキスト使用量が視覚的に表示されます。これは「燃料計」のようなもので、満タンに近づくとレスポンスが遅くなったり、品質が低下したりする可能性があります。
3. 入力・編集操作
3.1 改行を入力したい
Claude Codeで複数行の入力を行う方法はいくつかあります:
| 方法 | 説明 | 対応環境 |
|---|---|---|
\ + Enter |
バックスラッシュの後にEnter | 全環境 |
Ctrl+J |
標準的な改行キー | 全環境 |
Option+Enter |
macOS向け | macOS |
Shift+Enter |
直感的だが設定が必要 | /terminal-setup 実行後 |
Shift+Enter を有効にする方法
/terminal-setup
このコマンドを実行後、ターミナルを再起動すると Shift+Enter で改行できるようになります。iTerm2やVS Codeのターミナルで動作します。
CursorやVS Codeのターミナルについて
Cursorのキーバインディングには Shift+Enter がデフォルトで設定されているため、特別な設定なしで使える場合があります。
3.2 Vimモードを有効にしたい
Vimに慣れている方は、Vimスタイルの編集モードを有効にできます:
/vim
恒久的に設定する方法
/config
で設定画面を開き、Vimモードを有効にします。
Vimモードでできること
Escでノーマルモードに切り替えiでインサートモードに切り替え0で行頭に移動$で行末に移動d$で行末まで削除ddで行全体を削除
3.3 大きなファイルやテキストを入力したい
大量のテキストを直接貼り付けるとClaude Codeがフリーズすることがあります。以下の方法を推奨します:
方法1: ファイルに保存して参照
# テキストをファイルに保存
echo "長いテキスト..." > content.txt
# Claude Codeで参照
@content.txt を分析して
方法2: パイプで渡す
cat large-file.txt | claude
方法3: ファイルパスを指定
Claude Codeに直接ファイル名を伝えるだけでも、多くの場合は適切に処理してくれます:
large-file.txt を読んで内容を要約して
3.4 コマンド履歴を操作したい
履歴のナビゲーション
↑キー: 前のコマンドに戻る↓キー: 次のコマンドに進む
履歴の検索
Ctrl+R
検索モードに入り、キーワードを入力します。再度 Ctrl+R を押すと次のマッチに移動します。Backspace で検索をキャンセルできます。
検索結果では、検索キーワードがハイライト表示されるため、目的のコマンドを見つけやすくなっています。
3.5 シェルコマンドを直接実行したい
Claude Codeを介さずにシェルコマンドを実行するには、! を先頭につけます:
!cd src
!git status
!npm test
!ls -la
なぜ ! を使うのか?
Claude Codeに「npm testを実行して」と依頼することもできますが、その場合:
- Claude Codeがコマンドを解釈する時間がかかる
- 余分なトークンを消費する
- 確認ダイアログが表示される場合がある
! を使うと、これらをバイパスして直接実行できます。
活用例
!git status # 現在の状態を確認
!npm run lint # リンターを実行
!docker ps # コンテナ状態を確認
!cat package.json # ファイル内容を確認
4. キーボードショートカット完全ガイド
Claude Codeを効率的に使いこなすには、キーボードショートカットの習得が不可欠です。ここでは全てのショートカットを体系的に解説します。
4.1 基本操作
| ショートカット | 動作 | 詳細説明 |
|---|---|---|
Ctrl+C |
キャンセル | 現在の入力または生成をキャンセル |
Ctrl+C × 2回 |
強制終了 | 完全にClaude Codeを終了 |
Ctrl+D |
終了 | セッションを正常終了 |
Ctrl+L |
画面クリア | ターミナル画面をクリア(会話は保持) |
ESC |
停止 | 実行中の処理を停止 |
ESC × 2回 |
巻き戻し | 会話履歴を選択して巻き戻し |
? |
ヘルプ | 利用可能なショートカット一覧を表示 |
4.2 入力編集(Bash/Emacs互換)
| ショートカット | 動作 |
|---|---|
Ctrl+A |
行頭へ移動 |
Ctrl+E |
行末へ移動 |
Ctrl+B |
1文字後方へ移動(または ←) |
Ctrl+F |
1文字前方へ移動(または →) |
Option+B |
1単語後方へ移動(macOS) |
Option+F |
1単語前方へ移動(macOS) |
Ctrl+W |
前の単語を削除 |
Ctrl+K |
カーソルから行末まで削除 |
Ctrl+U |
カーソルから行頭まで削除 |
Ctrl+Y |
削除したテキストを貼り付け |
実践的な使い方
音声入力を使っている場合や、長いプロンプトを編集する場合に特に便利です。例えば:
Ctrl+Eで行末に移動Ctrl+Wで単語を削除- 正しい単語を入力
4.3 履歴操作
| ショートカット | 動作 |
|---|---|
↑ / Ctrl+P |
前のコマンド |
↓ / Ctrl+N |
次のコマンド |
Ctrl+R |
履歴を後方検索 |
Tab |
オートコンプリート |
4.4 モード切り替え
| ショートカット | 動作 | 説明 |
|---|---|---|
Shift+Tab |
モード切り替え | Auto Edit / Plan / Default を切り替え |
Ctrl+O |
Verbose切り替え | 詳細出力のオン/オフ |
Ctrl+R |
結果展開 | 折りたたまれた実行結果を展開 |
Ctrl+B |
バックグラウンド実行 | 現在のコマンドをバックグラウンドで実行 |
モードの違い
- Default: 通常モード。Claude Codeが判断して行動
- Auto Edit: 確認なしでファイル編集を実行
- Plan: コードを書かずに計画のみを立てる
4.5 画像・ファイル操作
| 操作 | 方法 |
|---|---|
| 画像貼り付け | Ctrl+V(Cmd+V ではない) |
| ファイル参照 | Shift+ドラッグ |
重要: macOSでも画像の貼り付けは Ctrl+V です。Cmd+V ではないので注意してください。
4.6 バックグラウンドタスク
長時間かかるコマンドをバックグラウンドで実行できます:
Ctrl+B
tmuxユーザーへの注意
tmuxのプレフィックスキーが Ctrl+B の場合、Ctrl+B を2回押す必要があります。
バックグラウンドタスクの特徴
- 固有のIDが割り当てられる
- 出力はバッファリングされ、後で取得可能
- Claude Codeは新しいプロンプトに応答可能
- セッション終了時に自動クリーンアップ
活用例
# テストをバックグラウンドで実行
npm test を実行して → Ctrl+B
# その間に別の作業
コードのリファクタリングを進めて
# テスト結果を確認
バックグラウンドタスクの結果を教えて
5. スラッシュコマンド一覧
Claude Codeのインタラクティブモードでは、/ で始まるスラッシュコマンドを使用して様々な操作を行えます。
5.1 基本コマンド
| コマンド | 説明 | 使用例 |
|---|---|---|
/help |
利用可能な全コマンド一覧を表示 | /help |
/exit |
セッションを終了 | /exit |
/quit |
セッションを終了(/exitと同じ) | /quit |
/clear |
会話履歴を完全にクリア | /clear |
/status |
バージョン情報と接続状態を表示 | /status |
/help について
/help は最も重要なコマンドの一つです。以下の情報が表示されます:
- 組み込みスラッシュコマンド
- カスタムスラッシュコマンド(
.claude/commands/や~/.claude/commands/) - MCPサーバーから提供されるコマンド
新機能が追加された際は、まず /help で確認することをお勧めします。
5.2 モデル・出力設定
| コマンド | 説明 | 使用例 |
|---|---|---|
/model |
使用モデルの確認・変更 | /model |
/config |
設定画面を開く | /config |
/theme |
カラーテーマを変更 | /theme |
/model の表示内容
- 現在使用中のモデル
- 利用可能なモデル一覧
- 各モデルの使用状況(Maxプランの場合)
5.3 セッション管理
| コマンド | 説明 | 使用例 |
|---|---|---|
/resume |
過去の会話を選択して再開 | /resume |
/compact |
コンテキストを圧縮 | /compact 重要な決定事項を保持 |
/context |
コンテキスト使用量をグリッド表示 | /context |
/export |
会話をファイルにエクスポート | /export conversation.md |
5.4 プロジェクト設定
| コマンド | 説明 | 使用例 |
|---|---|---|
/init |
CLAUDE.mdファイルを作成 | /init 日本語で作って |
/memory |
参照中のメモリファイルを確認 | /memory |
/permissions |
権限設定を管理 | /permissions |
/add-dir |
追加のワーキングディレクトリを設定 | /add-dir ../shared |
/init について
/init は新しいプロジェクトでClaude Codeを使い始める際に最初に実行すべきコマンドです。プロジェクトの構造を分析し、適切なCLAUDE.mdファイルを生成してくれます。
5.5 ツール・連携
| コマンド | 説明 | 使用例 |
|---|---|---|
/mcp |
MCPサーバー一覧と状態を表示 | /mcp |
/install-github-app |
GitHub Actionsアプリをインストール | /install-github-app |
/hooks |
フックの設定画面を開く | /hooks |
/terminal-setup |
ターミナル設定をセットアップ | /terminal-setup |
/mcp の使い方
MCPサーバーが設定されている場合、/mcp で以下を確認できます:
- 接続されているサーバー一覧
- 各サーバーの状態(稼働中/停止など)
- 利用可能なツール一覧
View tools を選択すると、各ツールのコマンドと使用方法を確認できます。
5.6 ユーティリティ
| コマンド | 説明 | 使用例 |
|---|---|---|
/doctor |
インストール状態のヘルスチェック | /doctor |
/cost |
セッションのトークン使用量とコスト表示 | /cost |
/review |
コードレビューを依頼 | /review |
/vim |
Vimモードを有効化 | /vim |
/bug |
バグレポートを送信 | /bug |
/doctor について
Claude Codeが正常に動作しない場合、まず /doctor を実行してください。以下の問題を検出できます:
- インストールの問題
- 設定の問題
- 接続の問題
- 依存関係の問題
/cost について
トークン使用量とコストを確認できます。長いセッションで予算を管理したい場合に便利です。
5.7 MCPスラッシュコマンド
MCPサーバーが接続されている場合、そのサーバーが提供するコマンドも使用できます:
/mcp__github__list_prs
/mcp__github__pr_review 456
/mcp__jira__create_issue "バグタイトル" high
形式: /mcp__[サーバー名]__[コマンド名]
6. CLIフラグ・オプション詳解
Claude Codeは豊富なコマンドラインフラグをサポートしています。ここでは全てのフラグを用途別に解説します。
6.1 セッション管理フラグ
| フラグ | 説明 | 例 |
|---|---|---|
-c, --continue |
最新の会話を継続 | claude -c |
-r, --resume |
特定のセッションを再開 | claude -r abc123 |
--fork-session |
セッションをフォークして再開 | claude --resume abc123 --fork-session |
--session-id |
特定のセッションIDを使用(UUID形式) | claude --session-id "550e8400-e29b-41d4-a716-446655440000" |
--fork-session の活用
元のセッションを変更せずに実験的な変更を試したい場合に便利です:
# 元のセッションを保持しながら別のアプローチを試す
claude --resume abc123 --fork-session "別のアプローチで実装してみて"
6.2 モデル・出力設定フラグ
| フラグ | 説明 | 例 |
|---|---|---|
--model |
使用モデルを指定 | claude --model sonnet |
-p, --print |
非対話モードで実行 | claude -p "query" |
--output-format |
出力形式を指定 | claude -p --output-format json "query" |
--input-format |
入力形式を指定 | claude -p --input-format stream-json |
--verbose |
詳細ログを表示 | claude --verbose |
--debug |
デバッグモード | claude --debug "api,mcp" |
--max-turns |
エージェントのターン数制限 | claude -p --max-turns 3 "query" |
--fallback-model |
フォールバックモデルを指定 | claude -p --fallback-model sonnet "query" |
--output-format の詳細
| 形式 | 説明 | 用途 |
|---|---|---|
text |
プレーンテキスト | 人間が読む場合 |
json |
JSON形式 | プログラムでパース |
stream-json |
ストリーミングJSON | リアルタイム処理 |
--max-turns について
非対話モードでClaude Codeが実行するターン数を制限します。無限ループを防いだり、コストを制御したりするのに有用です:
# 最大3ターンで完了させる
claude -p --max-turns 3 "簡単な分析をして"
6.3 権限・ツール設定フラグ
| フラグ | 説明 | 例 |
|---|---|---|
--allowedTools |
許可するツールを指定 | claude --allowedTools "Bash(git:*)" "Read" |
--disallowedTools |
禁止するツールを指定 | claude --disallowedTools "Bash(rm:*)" |
--dangerously-skip-permissions |
全ての権限確認をスキップ | claude --dangerously-skip-permissions |
--permission-mode |
権限モードを指定 | claude --permission-mode plan |
--permission-prompt-tool |
権限プロンプト用MCPツールを指定 | claude -p --permission-prompt-tool mcp_auth_tool "query" |
--tools |
利用可能ツールを指定 | claude -p --tools "Bash,Edit,Read" "query" |
--allowedTools と --disallowedTools の書式
# 特定のgitコマンドを許可
claude --allowedTools "Bash(git log:*)" "Bash(git diff:*)" "Read"
# 危険なコマンドを禁止
claude --disallowedTools "Bash(rm -rf:*)" "Bash(sudo:*)"
--dangerously-skip-permissions について
このフラグは、すべての権限確認をスキップします。非常に便利ですが、以下の点に注意してください:
- 信頼できる環境でのみ使用する
- インターネットアクセスのないコンテナでの使用を推奨
- 本番環境では使用しない
6.4 システムプロンプトフラグ
| フラグ | 説明 | モード |
|---|---|---|
--system-prompt |
システムプロンプトを完全に置き換え | Interactive + Print |
--append-system-prompt |
システムプロンプトに追記 | Interactive + Print |
--system-prompt-file |
ファイルからシステムプロンプトを読み込み | Print only |
使い分けの指針
| 用途 | 推奨フラグ |
|---|---|
| デフォルト機能を維持しつつカスタマイズ | --append-system-prompt |
| 完全にカスタムな動作が必要 | --system-prompt |
| プロンプトをファイルで管理 | --system-prompt-file |
例
# デフォルト機能を維持しつつ、TypeScript使用を強制
claude --append-system-prompt "常にTypeScriptを使用し、JSDocコメントを含めること"
# 完全にカスタムなプロンプトで起動
claude --system-prompt "あなたはPythonの専門家です。型アノテーションを必ず使用してください。"
# ファイルからプロンプトを読み込み(チーム共有に便利)
claude -p --system-prompt-file ./prompts/code-review.txt "このPRをレビューして"
6.5 MCP設定フラグ
| フラグ | 説明 | 例 |
|---|---|---|
--mcp-config |
MCPサーバー設定を読み込み | claude --mcp-config ./mcp.json |
--strict-mcp-config |
指定したMCP設定のみ使用 | claude --strict-mcp-config --mcp-config ./mcp.json |
6.6 その他のフラグ
| フラグ | 説明 | 例 |
|---|---|---|
--add-dir |
追加のワーキングディレクトリ | claude --add-dir ../apps ../lib |
--ide |
IDE接続を自動化 | claude --ide |
--agents |
カスタムサブエージェントを定義 | claude --agents '{...}' |
--settings |
設定ファイルを指定 | claude --settings ./settings.json |
--setting-sources |
設定ソースを指定 | claude --setting-sources user,project |
--json-schema |
JSON Schemaで出力を検証 | claude -p --json-schema '{"type":"object",...}' "query" |
--agents フラグの詳細
JSON形式でサブエージェントを定義できます:
claude --agents '{
"code-reviewer": {
"description": "コードレビュー専門家",
"prompt": "あなたはシニアコードレビュアーです。",
"tools": ["Read", "Grep", "Glob", "Bash"],
"model": "sonnet"
}
}'
7. 設定・権限管理
7.1 設定画面を開きたい
Claude Codeの各種設定を変更するには:
/config
設定画面では以下の項目を変更できます:
- Verbose output(詳細出力)
- Vimモード
- カラーテーマ
- その他の動作設定
7.2 権限設定を管理したい
/permissions
権限設定画面では、Allow(許可)とDeny(拒否)のルールを設定できます。
権限ルールの書式
| パターン | 説明 | 例 |
|---|---|---|
Bash(command:*) |
特定のBashコマンドを制御 | Bash(git add:*) |
Edit(path/*) |
特定パスの編集を制御 | Edit(src/*) |
Read(path/*) |
特定パスの読み取りを制御 | Read(.env*) |
WebFetch(domain:url) |
特定ドメインへのアクセスを制御 | WebFetch(domain:example.com) |
7.3 よくある権限設定例
git add -A を禁止したい
/permissions
で Deny に以下を追加:
Bash(git add -A:*)
Bash(git add --all:*)
特定ディレクトリの編集を禁止したい
Edit(docs/*)
Read(docs/*) # 読み取りも禁止する場合
危険なコマンドを禁止したい
Bash(rm -rf:*)
Bash(sudo:*)
Bash(curl:*)
特定のウェブサイトへのアクセスを禁止したい
WebFetch(domain:malicious-site.com)
7.4 設定ファイルで一括設定したい
個別に /permissions で設定する代わりに、.claude/settings.json ファイルで一括設定できます:
{
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test:*)",
"Bash(git status)",
"Bash(git diff:*)",
"Bash(git log:*)",
"Read(~/.zshrc)"
],
"deny": [
"Bash(curl:*)",
"Bash(wget:*)",
"Bash(rm -rf:*)",
"Bash(sudo:*)",
"Read(.env*)",
"Edit(production.config.*)"
]
}
}
設定ファイルの場所
| 場所 | スコープ |
|---|---|
~/.claude/settings.json |
ユーザー全体 |
.claude/settings.json |
プロジェクト固有 |
7.5 設定をチーム全体で共有したい
.claude/settings.json をリポジトリにコミットすることで、チーム全体で設定を共有できます:
git add .claude/settings.json
git commit -m "Add Claude Code settings for team"
チーム設定のベストプラクティス
{
"permissions": {
"allow": [
"Bash(npm run:*)",
"Bash(yarn:*)",
"Bash(git status)",
"Bash(git diff:*)",
"Bash(git log:*)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)",
"Edit(.env*)",
"Edit(**/secrets/**)"
]
},
"enableAllProjectMcpServers": true
}
7.6 権限確認を全てスキップしたい(危険)
開発やテスト目的で、全ての権限確認をスキップしたい場合:
claude --dangerously-skip-permissions
重要な警告
このフラグは以下の条件でのみ使用してください:
- ✅ インターネットアクセスのないコンテナ内
- ✅ 信頼できる環境
- ✅ 破壊されても問題ないテスト環境
- ❌ 本番環境では絶対に使用しない
- ❌ 機密データがある環境では使用しない
7.7 Verbose出力を有効にしたい
Claude Codeの実行内容を詳細に確認したい場合:
一時的に有効化
claude --verbose
インタラクティブモード中に切り替え
Ctrl+O
恒久的に設定
/config
で Verbose output を true に設定。
Verbose出力で確認できること
- ファイル編集のdiff(差分)
- 実行されるコマンドの詳細
- APIリクエスト/レスポンスの概要
- ツールの実行結果
8. ファイル・画像の扱い
8.1 ファイルを参照して質問したい
Claude Codeでファイルを参照する最も確実な方法は @ 記号を使用することです:
@src/main.ts を説明して
@package.json のdependenciesを確認して
@README.md の内容を日本語に翻訳して
複数ファイルの参照
@src/auth/login.ts と @src/auth/logout.ts を比較して
ディレクトリの参照
@src/components/ ディレクトリの構造を説明して
@ なしでも動作する場合
Claude Codeは賢いので、@ なしでファイル名を言っても多くの場合は正しく認識します:
package.json を見て
src/main.ts の中身を確認して
ただし、確実性を高めるために @ の使用をお勧めします。
8.2 画像を見せたい
Claude Codeに画像を渡す方法は複数あります:
方法1: クリップボードから貼り付け
スクリーンショットを撮った後に Ctrl+V(macOSでも Ctrl+V、Cmd+V ではない)
方法2: ファイルパスを指定
@images/screenshot.png を分析して
@designs/mockup.jpg に基づいてUIを実装して
方法3: ドラッグ&ドロップ
Shift を押しながらファイルをターミナルにドラッグすると、ファイル参照として追加されます。
方法4: MCPツール経由
Playwright MCPなどを使用して、Claude Codeにブラウザのスクリーンショットを撮らせることもできます。
8.3 Macでのスクリーンショット操作
| コマンド | 動作 |
|---|---|
Cmd+Shift+Ctrl+4 |
範囲指定でクリップボードにコピー |
Cmd+Shift+Ctrl+3 |
画面全体をクリップボードにコピー |
Cmd+Shift+4 |
範囲指定でファイルに保存 |
Cmd+Shift+3 |
画面全体をファイルに保存 |
クリップボードにコピーした後は Ctrl+V で Claude Code に貼り付けられます。
8.4 画像の活用例
UIデザインの実装
@designs/login-page.png このデザインに基づいてReactコンポーネントを実装して
バグの報告・分析
[Ctrl+V でスクリーンショットを貼り付け]
この画面で発生しているレイアウトの問題を修正して
エラー画面の分析
[Ctrl+V でエラー画面を貼り付け]
このエラーの原因と解決方法を教えて
8.5 大きなファイルの扱い
大量のテキストや巨大なファイルを扱う場合の注意点:
直接貼り付けは避ける
大きなテキストを直接貼り付けると、Claude Codeがフリーズする可能性があります。
推奨される方法
1. ファイルに保存して参照
echo "長いコンテンツ..." > content.txt
@content.txt を分析して
2. パイプで渡す
cat large-file.txt | claude -p "内容を要約して"
3. 必要な部分だけ抽出
head -n 100 large-file.txt | claude -p "最初の100行を分析して"
tail -n 100 large-file.txt | claude -p "最後の100行を分析して"
grep "ERROR" large-log.txt | claude -p "エラーパターンを分析して"
8.6 バイナリファイルの扱い
Claude Codeは以下のバイナリファイルを直接扱えます:
- 画像: PNG, JPG, JPEG, GIF, WEBP
- ドキュメント: PDF(一部のMCPツール経由)
その他のバイナリファイル(Excel、Word等)は、テキスト形式に変換してから渡すか、適切なMCPツールを使用してください。
第1章のまとめ
第1章では、Claude Codeの基礎的な操作方法について詳しく解説しました:
- 起動と基本操作 – 様々な起動方法と基本的なコマンド
- セッション管理 – 会話の継続、再開、クリア、圧縮
- 入力・編集 – 効率的な入力方法とVimモード
- キーボードショートカット – 生産性を上げる全てのショートカット
- スラッシュコマンド – インタラクティブモードで使える全コマンド
- CLIフラグ – 起動時オプションの完全リファレンス
- 設定・権限管理 – セキュリティと利便性のバランス
- ファイル・画像の扱い – コンテキストを効果的に渡す方法
次の第2章では、より高度な機能について解説します:
- CLAUDE.mdとメモリ管理
- Git操作の自動化
- カスタムスラッシュコマンドの作成
- MCPによる機能拡張
- サブエージェントとHooks
- 効率的なワークフローの構築
- トラブルシューティング
→ 第2章:応用・実践編へ続く



コメント