CLIの使用方法とコントロール
コマンドラインからClaude Codeを使用する方法(CLIコマンド、フラグ、スラッシュコマンドを含む)について学びます。
はじめに
Claude Codeには主に2つの操作方法があります:
- 対話モード:
claude
を実行してREPLセッションを開始 - ワンショットモード:
claude -p "クエリ"
で素早くコマンドを実行
CLIコマンド
コマンド | 説明 | 例 |
---|---|---|
claude | 対話型REPLを開始 | claude |
claude "クエリ" | 初期プロンプトでREPLを開始 | claude "このプロジェクトを説明して" |
claude -p "クエリ" | 一回限りのクエリを実行して終了 | claude -p "この関数を説明して" |
cat file | claude -p "クエリ" | パイプされたコンテンツを処理 | cat logs.txt | claude -p "説明して" |
claude -c | 最新の会話を継続 | claude -c |
claude -c -p "クエリ" | プリントモードで継続 | claude -c -p "型エラーをチェックして" |
claude -r "<session-id>" "クエリ" | IDでセッションを再開 | claude -r "abc123" "このPRを完了して" |
claude config | 設定を構成 | claude config set --global theme dark |
claude update | 最新バージョンに更新 | claude update |
claude mcp | Model Context Protocolサーバーを構成 | チュートリアルのMCPセクションを参照 |
CLIフラグ
これらのコマンドラインフラグでClaude Codeの動作をカスタマイズできます:
フラグ | 説明 | 例 |
---|---|---|
--print , -p | 対話モードなしでレスポンスを表示(下記の詳細なプリントモードのドキュメントを参照) | claude -p "クエリ" |
--output-format | プリントモードの出力形式を指定(オプション:text 、json 、stream-json ) | claude -p "クエリ" --output-format json |
--verbose | 詳細なログを有効化、ターンごとの完全な出力を表示(プリントモードと対話モードの両方でデバッグに役立つ) | claude --verbose |
--max-turns | 非対話モードでのエージェントターン数を制限 | claude -p --max-turns 3 "クエリ" |
--permission-prompt-tool | 非対話モードで権限プロンプトを処理するMCPツールを指定 | claude -p --permission-prompt-tool mcp_auth_tool "クエリ" |
--resume | IDを指定して、または対話モードで選択してセッションを再開 | claude --resume abc123 "クエリ" |
--continue | 現在のディレクトリで最新の会話を読み込む | claude --continue |
--dangerously-skip-permissions | 権限プロンプトをスキップ(注意して使用) | claude --dangerously-skip-permissions |
--output-format json
フラグは、Claudeの応答をプログラムで解析できるため、スクリプト作成や自動化に特に便利です。
プリントモードの詳細
-p
(または--print
)フラグは、Claude Codeで非対話モードを有効にし、プログラムでの使用のために入出力をパイプできるようにします。このフラグは様々なユースケースに対応する複数の出力形式をサポートしています。
基本的な使用方法
出力形式
--output-format
オプション(-p
と共に使用)は3つの形式をサポートしています:
1. テキスト出力(デフォルト)
2. JSON出力
構造化されたJSONオブジェクトを出力:
3. ストリーミングJSON出力
ストリーミングモードでは、受信時に各メッセージが個別のJSONオブジェクトとして出力されます:
- ツール使用メッセージ
- アシスタントテキストメッセージ
- ツール結果メッセージ
- 統計情報を含む最終システムメッセージ
プリントモードでの詳細出力
-p
で--verbose
を使用する場合は、--output-format json
または--output-format stream-json
と組み合わせる必要があります:
詳細JSONモードでは、出力に完全な会話のトランスクリプトが含まれます:
プリントモードの追加オプション
最大ターン数
非対話モードでのエージェントターン数を制限します。
権限プロンプトツール
非対話モードで権限プロンプトを処理するMCPツールを指定します。
セッションの再開
プリントモードで新しいプロンプトを使用して特定のセッションをIDで再開します。
セッションの継続
このプロジェクトで最後の会話を継続します。
スラッシュコマンド
対話セッション中にClaudeの動作を制御します:
コマンド | 目的 |
---|---|
/bug | バグを報告(会話をAnthropicに送信) |
/clear | 会話履歴をクリア |
/compact [instructions] | オプションの焦点指示で会話をコンパクトに |
/config | 設定の表示/変更 |
/cost | トークン使用統計を表示 |
/doctor | Claude Codeのインストール状態を確認 |
/help | 使用方法のヘルプを表示 |
/init | CLAUDE.mdガイドでプロジェクトを初期化 |
/login | Anthropicアカウントを切り替え |
/logout | Anthropicアカウントからサインアウト |
/memory | CLAUDE.mdメモリファイルを編集 |
/pr_comments | プルリクエストのコメントを表示 |
/review | コードレビューをリクエスト |
/status | アカウントとシステムのステータスを表示 |
/terminal-setup | 改行用のShift+Enterキーバインディングをインストール(iTerm2とVSCodeのみ) |
/vim | 挿入モードとコマンドモードを切り替えるvimモードを開始 |
特別なショートカット
#
でのクイックメモリ
入力を#
で始めることで、即座にメモリを追加できます:
このメモリを保存するメモリファイルを選択するよう促されます。
ターミナルでの改行
複数行のコマンドを入力する方法:
- クイックエスケープ:
\
に続いてEnterを押す - キーボードショートカット:Option+Enter(または設定されている場合はShift+Enter)
Option+Enterをターミナルで設定する方法:
Mac Terminal.appの場合:
- 設定 → プロファイル → キーボードを開く
- “Use Option as Meta Key”をチェック
iTerm2とVSCodeターミナルの場合:
- 設定 → プロファイル → キーを開く
- 一般設定で、左/右Optionキーを”Esc+“に設定
iTerm2とVSCodeユーザーへのヒント:Claude Code内で/terminal-setup
を実行すると、より直感的な代替手段としてShift+Enterを自動的に設定できます。
設定の詳細については、設定の中のターミナルセットアップを参照してください。
Vimモード
Claude Codeは、/vim
または/config
で有効にできるVimキーバインディングのサブセットをサポートしています。
サポートされているサブセットには以下が含まれます:
- モード切り替え:
Esc
(NORMALモードへ)、i
/I
、a
/A
、o
/O
(INSERTモードへ) - ナビゲーション:
h
/j
/k
/l
、w
/e
/b
、0
/$
/^
、gg
/G
- 編集:
x
、dw
/de
/db
/dd
/D
、cw
/ce
/cb
/cc
/C
、.
(繰り返し)