Claude Codeを使いこなす上で、CLIのオプションやフラグを理解しているかどうかで生産性が大きく変わります。「claude」と打つだけで起動はできますが、--modelや--permission-mode、--resumeといったフラグを知らずに使うと、できることの半分も引き出せていません。この記事では、Claude Codeの公式CLIリファレンスをベースに、基本コマンドから上級者向けのフラグ、スラッシュコマンド、設定ファイルまでを.AIの現場視点で全部解説します。読み終わる頃には、どのオプションをどの場面で使えばいいのか迷わなくなります。
Claude Codeのオプションの全体像

室谷今回はClaude Codeのオプションの話をしましょう。これ、.AIコミュニティでも「どこまで設定すればいいのか分からない」って声が一番多いんですよね・・・
テキトー教師講座でも必ず出る質問ですね。受講生さんから「claudeって入力するだけでいいんじゃないんですか?」と聞かれることがあって、起動はそれで合ってるんですけど、その先のオプションを知らないと全然使いこなせないんです。
室谷そうなんですよ。Claude Codeって一見シンプルなCLIに見えるんですけど、実は「CLIフラグ」「スラッシュコマンド」「設定ファイル」「環境変数」の4層構造になっていて、このどこをいじればやりたいことができるのか、最初に整理しておかないと迷子になる。
テキトー教師整理するとこんな感じですよね。
| レイヤー | 何ができるか | 指定方法 |
|---|---|---|
| CLIフラグ | 起動時のモデル・権限・ツール・入出力などセッション単位の設定 | claude --model sonnet --permission-mode plan のように起動時に渡す |
| スラッシュコマンド | 対話中のセッション操作(履歴・モデル切替・メモリ編集など) | 対話モードで /resume /model /clear を入力 |
| 設定ファイル | ユーザー/プロジェクト/ローカルの永続設定 | ~/.claude/settings.json や .claude/settings.json を編集 |
| 環境変数 | APIキー・デバッグ出力・ベースURLなどマシン単位の設定 | ANTHROPIC_API_KEY CLAUDE_CODE_DEBUG_LOGS_DIR など |
室谷この4層を使い分けられると、自動化パイプラインにも組み込めるし、チームで共通設定も配れる。逆にCLIフラグだけで全部やろうとすると、毎回長いコマンドを書くことになって疲れる・・・
テキトー教師実際、.AIの現場だと「個人の好みは設定ファイルに、セッションごとに変えたいものだけフラグで」というのが定番です。
室谷特に
claude --helpだけ見て満足する人が多いんですけど、公式のCLIリファレンスには--helpに出てこないフラグが何個もあるんですよ。公式ドキュメントにも「claude --helpはすべてのフラグをリストしないので、--helpにないからといって使えないわけではない」と明記されています。
テキトー教師受講生さんの多くが
--helpだけ見て終わってるので、ここは注意点ですね。今回はそこも含めて、実務で本当に使うオプションを整理していきます。基本コマンド:claudeの起動と会話の継続
室谷まずは基本コマンドから。
claude単体で打つとインタラクティブセッションが始まるんですけど、ここに引数やフラグをつけるだけで挙動がガラッと変わります。
テキトー教師基本形をまず一覧で押さえておきましょう。
| コマンド | 説明 |
|---|---|
claude | 対話セッションを開始 |
claude "質問" | 初期プロンプト付きで対話開始 |
claude -p "質問" | SDK風に一問一答で結果を出して終了(パイプ処理向け) |
cat file | claude -p "query" | 標準入力からパイプで渡して処理 |
claude -c | カレントディレクトリで直近の会話を再開 |
claude -r "<session>" "query" | セッションIDまたは名前で特定の会話を再開 |
claude update | 最新版にアップデート |
claude auth login | Anthropicアカウントにサインイン |
claude auth status | 認証状態をJSONで表示 |
claude agents | 設定済みサブエージェントを一覧表示 |
claude mcp | MCPサーバーの設定管理 |
claude plugin | プラグインの管理 |
claude setup-token | CI/スクリプト用の長期トークンを生成 |
claude doctor | Claude Codeのヘルスチェック |
室谷この中で実務的に一番使うのは
-pと-cと-rですね。-pはシェルスクリプトに組み込むときに必須で、-cは「さっきの続きから」やりたいときに毎回使います。
テキトー教師-cと-rの違いを質問されることが多いんですけど、-cはそのディレクトリで最新の会話を自動で拾うのに対して、-rはセッションIDや名前を指定して任意の会話を再開するという違いがあります。
室谷そうですね。
コンテキストが切れる前に名前を付ける習慣にすると、作業の切り替えが楽になります。
-rはセッションに名前を付けておくと便利で、claude -n "auth-refactor"のように付けておけば、あとでclaude -r auth-refactor "続きやって"で戻れる。コンテキストが切れる前に名前を付ける習慣にすると、作業の切り替えが楽になります。
テキトー教師あと
claude doctorは地味に役立ちます。アップデート機能がちゃんと動いてるか、設定がおかしくなってないかを一発で確認できるので、動作がおかしいと感じたら最初に打つコマンドですね。
室谷それと最近追加された
サブスクリプション契約じゃなくて、API従量で使いたいケースってチーム運用だと結構あるんですよ。
claude auth login --console。これはAnthropic Consoleの従量課金でログインできるやつで、APIキー管理をしたい法人利用だと役立ちます。サブスクリプション契約じゃなくて、API従量で使いたいケースってチーム運用だと結構あるんですよ。
非対話モード(print mode)の使い方
室谷-pフラグが出てきたので、非対話モード(print mode)の話を深掘りしましょう。これ、Claude Codeを自動化パイプラインに組み込むなら必ず理解しておきたいところ。
テキトー教師print modeは対話ではなく、一問一答でプロンプトを投げて結果を返して終了するモードですよね。シェルスクリプトやGitHub Actions、cronジョブなどから叩くときに使います。
室谷基本形はこれですね。
claude -p "プロジェクトのREADMEを要約して"
テキトー教師これに
--output-formatをつけるとさらに使いやすくなります。claude -p "package.jsonを分析してリスクを3つ挙げて" --output-format json
室谷json指定にするとパース可能なフォーマットで返ってくるので、下流のスクリプトで処理しやすい。stream-jsonにすると逐次的に結果が流れてくるので、長い処理の進捗を見たいときに有効です。
テキトー教師print modeとセットでよく使うフラグを整理しておきますね。
| フラグ | 用途 |
|---|---|
--output-format text|json|stream-json | 出力フォーマット指定 |
--input-format text|stream-json | 入力フォーマット(stream-jsonでJSONLをパイプで食わせられる) |
--max-turns N | エージェントターンの上限(暴走防止) |
--max-budget-usd 5.00 | API料金の上限(暴走防止その2) |
--fallback-model sonnet | メインモデルが詰まったときに自動フォールバック |
--no-session-persistence | セッションをディスクに保存しない |
--json-schema '{...}' | JSON Schemaに沿った構造化出力を強制 |
室谷--max-turnsと--max-budget-usdはバッチ処理に必ず入れるべきですね。特に--max-budget-usdは「知らないうちに$100溶かしてた」みたいな事故を防げる。CI/CDで大量に呼ぶケースほど効いてきます。
テキトー教師--json-schemaはエージェント出力を後段プログラムで受け取るときの要になります。スキーマで縛っておくと、パース失敗で止まるリスクが下がりますね。セッションを「続き」から再開する
室谷-cと-rについて、もう少し実践的な使い方を見ていきましょう。
テキトー教師-cは直近の会話を続けるので、同じディレクトリで「昨日の作業、続きやって」というときに便利です。claude -c
claude -c -p "型エラーをチェックして"
室谷後者の
-c -pの組み合わせが個人的に激推しで、「さっきまでの文脈を覚えたままCI的に一発処理する」ができる。これ意外と知られてないんですよね。
テキトー教師-rは名前付きセッションを明示的に再開したいときに使います。claude --resume auth-refactor "このPRを仕上げて"
claude --resume 550e8400-e29b-41d4-a716-446655440000
室谷セッションにIDでアクセスする場合、
--session-idで明示的にUUIDを渡すこともできます。これはAPIやスクリプトから自動生成したセッションを管理したい上級ユースケース向け。
テキトー教師--fork-sessionもマニアックですがハマります。--resumeと一緒に使うと、元のセッションは残したまま新しいセッションIDで分岐できるので、「同じ起点から複数の仮説を試す」ができますね。claude --resume abc123 --fork-session
室谷エージェント開発してると「この分岐でチーム分けて試そう」みたいなことがあるので、A/Bで試すときの基本テクニックですね。
権限モード:--permission-mode と --dangerously-skip-permissions

室谷次は権限モードの話。ここはClaude Codeで一番「事故」が起きやすいところなので、丁寧にいきましょう。
テキトー教師権限モードを知らずに使うと、毎回「このコマンド実行しますか?」という確認プロンプトが出て作業が止まる、か、逆に何も聞かれず破壊的なコマンドが走る、のどちらかになりますね。
室谷そうなんです。
--permission-modeで指定できるモードは公式ドキュメントによると以下のとおり。| モード | 挙動 |
|---|---|
default | リスクのある操作(編集、コマンド実行など)で確認プロンプトを出す |
acceptEdits | ファイル編集は自動承認、それ以外は確認 |
plan | 実行せず計画だけ立てる。READ系のみ許可 |
auto | v2.1.111以降のAuto Mode。低リスクは自動、リスク大は確認 |
dontAsk | 確認プロンプトを出さずエージェントが判断(上級者向け) |
bypassPermissions | 全確認をスキップ(--dangerously-skip-permissionsと同義) |
テキトー教師現場で一番使うのは
planモードとacceptEditsですね。planモードは「破壊する前に設計だけさせる」ときに安全で、acceptEditsは「ファイル編集はOK、コマンドは確認」という実務バランス。
室谷--dangerously-skip-permissionsは名前の通り「危険」です。これ、YouTubeやXでよく「dangerouslyを外すのがコツ」みたいな発信があるんですけど、本番環境や個人のホームディレクトリでやるとマジで危ないので、必ずDocker内や使い捨てVMで使うルールにした方がいい。
テキトー教師受講生さんには「DockerまたはGitで必ずコミット済みの状態で触る」とルール化してもらっています。これなら暴走しても
git resetで戻せる。
室谷それと2026年から追加されたのが
「最初は安全、必要になったら解禁」の段階制御ができる。
--allow-dangerously-skip-permissions。これはbypassPermissionsを起動時じゃなくShift+Tabの切替サイクルに追加するだけのフラグで、--permission-mode planで始まってからbypassに切り替えられる。「最初は安全、必要になったら解禁」の段階制御ができる。
plan モードの使いどころ
テキトー教師plan モードは「実行させずに考えさせる」モードなので、リファクタリング前の相談や、影響範囲の把握にすごく向いてますよね。
室谷僕はほぼ毎回、最初はplanモードで入りますね。
claude --permission-mode plan "このAPIの認証周りをリファクタリングしたい"
テキトー教師planモードで計画を見て、納得してから
bypassPermissionsやacceptEditsに切り替える、という流れが安全です。
室谷--allow-dangerously-skip-permissionsをつけておくと、Shift+Tabでbypassに切り替えられるので、「最初は慎重に、途中から速く」という運用が自然にできます。ツール制御オプション:--tools / --allowedTools / --disallowedTools
室谷次はツール制御。Claude Codeにどんな道具を使わせるか、を細かく制御するためのフラグです。
テキトー教師ここは「セキュリティ」と「効率」を両立させる肝になる部分ですね。
室谷フラグは3つあって、役割が明確に分かれてます。
| フラグ | 役割 |
|---|---|
--tools | Claude Codeが使える組み込みツールを制限。""で全無効、"default"で全許可、"Bash,Edit,Read"のように個別指定 |
--allowedTools | 確認なしで実行できるツールのホワイトリスト。"Bash(git log *)" "Bash(git diff *)" "Read"のようにパターン指定可 |
--disallowedTools | モデルのコンテキストから除外して使えなくする |
テキトー教師--toolsと--disallowedToolsの違いがわかりにくいんですが・・・
室谷役割の違いを言い換えるとこうですね。
同じ「ツール制御」でも目的が違う。
--toolsは「使えるツールを限定する」、--disallowedToolsは「特定ツールだけ禁止する」、--allowedToolsは「使えるけど確認不要なツールを許可する」。同じ「ツール制御」でも目的が違う。
テキトー教師例えば「git logは確認なしでOK、git diffも確認なしでOK、それ以外のBashは毎回確認」というセットアップなら、こうですよね。
claude --allowedTools "Bash(git log *)" "Bash(git diff *)" "Read"
室谷そうそう。パターンマッチで
Bash(git log *)のように書けるのが優秀で、安全な操作だけホワイトリストに入れて高速化できる。--add-dir で複数ディレクトリを横断
室谷もう1つ、地味に便利なのが
--add-dir。これは作業ディレクトリ以外の場所も読み書きできるようにするフラグです。
テキトー教師例えば、メインのリポジトリで作業しながら、隣のリポジトリのコードを参照したいときですよね。
claude --add-dir ../apps ../lib
室谷モノレポじゃないけど関連リポが複数ある、みたいな現場で必須です。1つのClaude Codeセッションから複数リポを横断できる。
テキトー教師注意点として、
--add-dirで追加したディレクトリの.claude/設定はほとんど読み込まれないので、CLAUDE.mdやhooksは元のディレクトリのものが優先されます。システムプロンプトのカスタマイズ
室谷システムプロンプトの上書き・追記もCLIフラグでできます。これ、特定タスク用にClaude Codeの振る舞いを変えたいときに重宝します。
テキトー教師公式が用意しているのは4つのフラグですね。
| フラグ | 挙動 |
|---|---|
--system-prompt | システムプロンプトを完全に置き換え |
--system-prompt-file | ファイルからシステムプロンプトを読み込んで置き換え |
--append-system-prompt | デフォルトプロンプトの末尾に追記 |
--append-system-prompt-file | ファイル内容を末尾に追記 |
室谷ほとんどのユースケースでは
--append-system-prompt系を使うべきです。Claude Codeのデフォルトプロンプトはツール使用やコード編集の作法が組み込まれているので、置き換えると一気に賢さが落ちる。
テキトー教師公式ドキュメントにも「ほとんどのユースケースではappendフラグを使うべき。完全な制御が必要なときだけ置き換えフラグを使え」と明記されています。
室谷例えばTypeScript強制したいなら、こんな感じ。
claude --append-system-prompt "Always use TypeScript. Avoid any. Strict mode required."
テキトー教師チームで共通のコーディング規約をつけたいなら、ファイル化しておいて
--append-system-prompt-fileで読み込ませると便利ですね。claude --append-system-prompt-file ./team-style.txt
室谷ちなみに
--system-promptと--system-prompt-fileは排他的で、同時には使えません。一方でappend系は置き換え系と組み合わせ可能です。エージェント・MCP・プラグインのオプション
室谷ここからはClaude Codeの「拡張」周りのフラグです。エージェント、MCPサーバー、プラグインの3つを動かすオプションを見ていきましょう。
テキトー教師公式ドキュメントに記載されているフラグを並べるとこうなります。
| フラグ | 用途 |
|---|---|
--agent <name> | このセッションで使うサブエージェントを指定(設定のagentを上書き) |
--agents '{...}' | JSON形式でカスタムサブエージェントを動的に定義 |
--mcp-config <file> | MCPサーバー設定をJSONファイル/文字列から読み込み |
--strict-mcp-config | --mcp-configで指定したMCPだけ使う(他の設定は無視) |
--plugin-dir <path> | プラグインを特定ディレクトリから読み込み(このセッションのみ) |
--mcp-debug | (古いリリース用)MCPデバッグ。現在は--debugに統合 |
室谷--agentsがアツいですね。サブエージェントをJSONで動的定義できるので、シェルスクリプトで「このタスク専用のエージェント」を1回限り定義して走らせる、みたいなことができる。claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'
テキトー教師公式のフィールド名(description / prompt)に従えば、設定ファイルの
subagents定義と同じ書き方で動きます。
室谷あと
--mcp-configは外部ツール連携の要ですね。例えばn8n-MCPやSlack MCPなど、プロジェクトごとにMCPセットを切り替えたいときに必須。claude --mcp-config ./mcp.json
テキトー教師--strict-mcp-configをつけると、グローバル設定や環境変数のMCPを完全に無視して、指定したJSONだけを使えるので、再現性のあるテスト環境を作るときに便利です。
室谷プラグインに関しては
--plugin-dirで開発中のプラグインを試すのに使います。claude --plugin-dir ./my-plugins
テキトー教師複数指定したいときは
--plugin-dir A --plugin-dir Bのようにフラグを繰り返します。これ初見でハマる仕様ですね・・・モデル指定とeffortレベル
室谷モデル切り替えは
--model一発でいけます。claude --model sonnet
claude --model opus
claude --model claude-sonnet-4-6
テキトー教師sonnetやopusのようなエイリアスを指定すると、その時点で最新のモデルが選ばれる仕組みになっていますね。フルモデル名を指定すれば固定もできます。
室谷2026年に追加されたのが
--effort。これがすごく便利なんですよ。claude --effort high
claude --effort xhigh
claude --effort max
テキトー教師low / medium / high / xhigh / maxから選べて、利用可能なレベルはモデルによって変わるんでしたっけ?
室谷そう。モデルごとに対応レベルが違って、
Opus系の方がより高いeffortレベルに対応してます。セッションスコープなので設定には永続化されないのもポイント。
maxは重いタスク向け。Opus系の方がより高いeffortレベルに対応してます。セッションスコープなので設定には永続化されないのもポイント。
テキトー教師「重い思考タスクのときだけ
maxにする」という運用がベストですね。Chrome連携・ワークツリー・IDE連携
室谷Claude Codeを「実行環境」と繋ぐオプションも増えてきました。
| フラグ | 用途 |
|---|---|
--chrome | Chromeブラウザ連携を有効化(Web自動化・テスト用) |
--no-chrome | Chrome連携を無効化 |
--ide | 起動時にIDE(VSCode/JetBrainsなど)に自動接続 |
--worktree, -w <name> | gitワークツリーを作って隔離環境で起動 |
--tmux | ワークツリーごとにtmuxセッションを起動(要 -w) |
テキトー教師--worktreeと--tmuxの組み合わせが特に強力で、複数の作業を並行で走らせるときに作業ディレクトリ自体を分離できます。claude -w feature-auth --tmux
室谷これで
.claude/worktrees/feature-authにワークツリーが作られて、そこでClaude Codeが起動する。メインブランチを汚さずに別作業できるので、エージェント開発で必須レベル。
テキトー教師あと
--chromeはブラウザ操作系のテストを書かせるとき・・・例えば「このサイトの全ページをチェックして」みたいなタスクで威力を発揮します。デバッグ・ログ・初期化系のオプション
室谷普段は使わないけど、トラブルシュートで超重要なのがデバッグ系のフラグ。
テキトー教師公式のCLIリファレンスから抜き出すとこうなります。
| フラグ | 用途 |
|---|---|
--debug [カテゴリ] | デバッグモード。"api,hooks" "!statsig"のようにフィルタ可能 |
--debug-file <path> | デバッグログを特定ファイルに書く(自動でdebugモード有効) |
--verbose | ターン単位の詳細ログを出力 |
--bare | hooks/skills/plugins/MCP/CLAUDE.mdなどの自動読み込みをスキップしてスクリプト起動を高速化 |
--init | 初期化フックを走らせて対話モード開始 |
--init-only | 初期化フックだけ走らせて終了 |
--maintenance | メンテナンス用フックを走らせる |
室谷--debug "api,mcp"みたいにカテゴリで絞り込めるのが地味に便利。全カテゴリの詳細ログを出すと出力が多すぎて読めないので、関心のある部分だけ抜き出せる。
テキトー教師!statsigのように!で除外指定もできるので、「これ以外全部」みたいなフィルタもいけます。
室谷スクリプトから叩く場面では
--bareがアツい。CLAUDE.mdやhooksの自動探索をスキップして起動が速くなる。claude --bare -p "ファイル一覧を出して"
テキトー教師--bareをつけるとClaudeが使えるツールはBash・ファイル読み・ファイル編集だけに制限されますね。最小構成で動かしたい自動化用途向けです。
室谷それと
--debug-fileで、デバッグログを特定パスに書き出せるので、サーバー上で問題追跡するときに役立ちます。CLAUDE_CODE_DEBUG_LOGS_DIR環境変数より優先されるのもポイント。リモート実行・チーム連携系
室谷2026年で大きく増えたのが「リモート実行」系のフラグです。Claude.aiやClaudeアプリと連携して使うやつ。
テキトー教師公式リファレンスにある主なものを整理しますね。
| フラグ | 用途 |
|---|---|
--remote | claude.aiに新しいWebセッションを作成して投げる |
--remote-control, --rc | リモート制御を有効にして対話セッション開始 |
--teleport | claude.aiで動いているWebセッションをローカルターミナルに「テレポート」 |
--from-pr <num/url> | 特定のGitHub PRに紐づくセッションを再開 |
--name, -n <name> | セッションに表示名をつける(resumeで使える) |
室谷--teleportがマジで未来感ありますね。Claude.aiのWebで動かしてた作業を、ローカルのターミナルに引き継げる。出先でスマホから指示出して、家に帰ってターミナルで続ける、みたいな運用ができる。
テキトー教師--from-prも革命的で、gh pr createで作ったPRに自動でセッションが紐づくので、後からそのPR番号で「あの作業の続き」が呼び出せる。claude --from-pr 123
室谷チームで「PR単位でAI作業を引き継ぐ」が成立するんですよ。これ運用に組み込むとレビュー前の小修正がめちゃくちゃ高速になります。
スラッシュコマンドと対話モードのオプション
室谷起動時のフラグだけじゃなく、対話中に使う「スラッシュコマンド」も豊富にあります。これらを使いこなせると、セッションの途中で設定を動的に変えられる。
テキトー教師対話モードで
/を入力すると、利用可能なコマンド一覧が出てきますね。主要なものを整理するとこうです。| コマンド | 役割 |
|---|---|
/help | ヘルプ表示 |
/model | 使用モデルの切り替え |
/clear | 会話履歴をクリアしてコンテキストをリセット |
/compact | 会話を要約してコンテキストを圧縮 |
/resume | 他のセッションに切り替え |
/agents | サブエージェント一覧の表示・編集 |
/hooks | フック設定の確認・編集 |
/plugin | プラグインのインストール・管理 |
/rename | セッションの表示名を変更 |
/config | 設定のインタラクティブ編集 |
/init | プロジェクトを初期化(CLAUDE.md作成など) |
/review | コードレビュー用スキル |
/security-review | セキュリティレビュー用スキル |
/theme | テーマ切り替え |
室谷個人的に毎日一番叩くのは
/clearと/compactと/modelですね。長くなってきたら/compactで圧縮、新しいタスクに移るときは/clear、重い思考が必要になったら/model opusで切り替え。
テキトー教師受講生さんによく伝えてるのが、
/compactの使いどころで。「会話が長くなってきて精度が落ちてきた」と感じたら迷わず/compactする、と習慣づけておくと安定しますね。
室谷あと
/agentsや/hooks、/pluginは設定系の編集UIが出るので、設定ファイルを手で書かなくてもいじれる。特に初学者は/pluginからインストール操作をするのがわかりやすい。対話モードのキーボードショートカット
テキトー教師スラッシュコマンド以外にも、対話モードには覚えておくべきキーバインドがあります。
| ショートカット | 動作 |
|---|---|
Ctrl+C | 現在の入力/生成をキャンセル |
Ctrl+D | Claude Codeセッションを終了 |
Ctrl+L | プロンプト入力をクリアして画面を再描画 |
Ctrl+O | トランスクリプトビューアーを切替(ツール使用履歴を詳細表示) |
Ctrl+R | コマンド履歴の逆検索 |
Ctrl+V | クリップボードから画像貼り付け |
Ctrl+B | バッシュコマンドやエージェントをバックグラウンドに |
Ctrl+T | タスクリストの表示切替 |
Shift+Tab | 権限モードを切り替え(default → acceptEdits → plan → ...) |
Esc + Esc | 巻き戻し(Rewind)またはサマリー作成 |
Option+P (Mac) / Alt+P (Win/Linux) | モデル切り替え |
Option+T / Alt+T | 拡張思考モードのトグル |
Option+O / Alt+O | Fastモードのトグル |
室谷Shift+Tabはマジで使う。権限モードをキーボードで一瞬で切り替えられるので、「最初はplanで慎重に、動作確認できたらacceptEditsに上げる」という流れが数秒で済む。
テキトー教師Esc+Escの巻き戻しも意外と使いますね。「この一連の変更、やっぱり戻したい」という瞬間に、Git操作なしで会話もコードも前に戻せる。設定ファイル(settings.json)と環境変数
室谷ここからは永続的な設定の話。CLIフラグは都度指定ですが、同じ設定を毎回使うなら設定ファイルに書いた方が楽です。
テキトー教師設定ファイルは3層構造になっていますね。
| スコープ | パス | 対象 |
|---|---|---|
| ユーザー(個人) | ~/.claude/settings.json | 全プロジェクト共通 |
| プロジェクト | .claude/settings.json | そのリポジトリ内のみ(チーム共有可) |
| ローカル | .claude/settings.local.json | そのリポジトリ内かつ個人固有(gitignore推奨) |
室谷チーム開発なら、プロジェクトの
.claude/settings.jsonに共通設定を書いてコミットしておくのがベストプラクティス。個人の好みはsettings.local.jsonに入れて、こっちはgitignoreする。
テキトー教師設定ファイルで書ける主な項目を抜き出すとこんな感じです。
{
"defaultMode": "plan",
"model": "sonnet",
"permissions": {
"allow": ["Bash(git log *)", "Bash(git diff *)", "Read"]
},
"hooks": {
"PreToolUse": [...],
"Stop": [...]
},
"env": {
"MY_CUSTOM_VAR": "value"
}
}
室谷defaultModeをplanにしておくと、毎回planモードから始まるので安全寄りの運用になります。permissions.allowで「確認なしで実行していいコマンド」をパターンで定義できる。
テキトー教師--setting-sourcesというフラグも補足しておくと便利です。claude --setting-sources user,project
室谷これで「このセッションだけlocalを無視する」とか、特定の層だけ使う、といった制御ができる。CI/CDで「localは使わない」と明示したいときに使います。
主要な環境変数
テキトー教師環境変数で制御できるものも押さえておきましょう。
| 環境変数 | 役割 |
|---|---|
ANTHROPIC_API_KEY | API認証キー(従量課金時) |
CLAUDE_CODE_DEBUG_LOGS_DIR | デバッグログの出力ディレクトリ |
CLAUDE_CODE_SIMPLE | --bareモード相当を環境変数で指定 |
CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX | リモート制御セッションの名前プレフィックス |
室谷ANTHROPIC_API_KEYはサブスクリプションではなくAPI従量課金で使いたいときに必須。Docker内やCI/CDで使う場合はほぼこれが前提になります。
テキトー教師受講生さんから「何度もログインし直さなきゃいけないのは面倒」と聞きますが、環境変数に入れておけば解決するケースが多いです。
よく使うコマンドのレシピ集
室谷ここまで見てきたオプションを組み合わせた、実務でよく使うレシピをいくつか紹介します。
テキトー教師これが一番知りたいところですよね。受講生さんにも「使い方のパターンを先に見せてもらうと覚えやすい」とよく言われます。
レシピ1:安全なリファクタリング開始
claude --permission-mode plan --model opus "src/auth/ を全体的にリファクタリングしたい"
室谷planモードで設計だけ立てさせて、opusで深く考えさせる。計画に納得したらShift+TabでacceptEditsに切り替えて実行する、というのが鉄板の流れ。レシピ2:CI向けのバッチ処理
claude --bare -p "package.jsonの脆弱性をチェックして、見つかったものをJSONで出力" \
--output-format json --max-turns 5 --max-budget-usd 1.00 --fallback-model sonnet
テキトー教師--bareで余計なhooks読み込みを避けて、--max-turnsと--max-budget-usdでコスト暴走を防ぐ。CI/CDで回すならこのレベルのガードは最低限欲しいですね。レシピ3:複数リポジトリ横断のコードレビュー
claude --add-dir ../shared-lib ../api-server --permission-mode plan \
"このフロントエンドの変更が、shared-libやapi-serverに与える影響を洗い出して"
室谷モノレポじゃないけど関連プロジェクトを跨いで見たいときの型。
--add-dirで他リポを読ませて、planモードで影響範囲だけ出させる。レシピ4:MCPサーバー経由でのデータ取得
claude --mcp-config ./mcp.json --strict-mcp-config \
"Slackの#dev-incidentsチャンネルの過去24時間のメッセージを要約して"
テキトー教師--strict-mcp-configで指定したMCPだけに絞ることで、他のMCPが混ざって予期しない動作をするのを防げます。レシピ5:名前付きセッションで長期タスク
claude -n "auth-refactor-2026q2" --permission-mode acceptEdits \
"認証基盤の新設計に取り組む。今日はログイン処理の改修"
室谷1日単位や週単位で続けるタスクは、名前付きセッションにしておくと
claude -r auth-refactor-2026q2 "続き"で戻れる。複数案件を並行で回すときに重要なテクニックです。レシピ6:ワークツリーで並列開発
claude -w feature-login --tmux
claude -w feature-billing --tmux
テキトー教師2つの機能を別ワークツリーで並行開発。tmuxセッションが自動でできるので、ターミナルを切り替えるだけで別作業に移れますね。
Claude Codeオプションに関するFAQ
claude --helpに出てこないフラグがあるのはなぜ?
室谷公式ドキュメントにもあるとおり、
--helpはすべてのフラグをリストしていません。最新フラグや特殊用途のフラグは公式のCLIリファレンスを見る必要があります。
テキトー教師困ったら
--helpの前に公式リファレンスに飛ぶ、というのが正しい順序ですね。--dangerously-skip-permissionsを安全に使うには?
室谷最低でも「Dockerコンテナ内」または「gitで直前にコミット済みの状態」で使うルールにすることです。ホームディレクトリや本番サーバーでは絶対に使わない。
--allow-dangerously-skip-permissionsで起動時はplanから始めて、Shift+Tabで必要になったら切り替える運用の方が安全です。--permission-mode autoとdefaultはどう違う?
テキトー教師autoはClaude Code側が「このコマンドは低リスクだから自動実行、これは確認が必要」と判断する自動モード。defaultはリスクのある操作で毎回確認するモード。autoはv2.1.111以降で追加されて、以前の--enable-auto-modeフラグはこれに置き換わりました。設定ファイルとCLIフラグ、どっちが優先される?
室谷基本的にCLIフラグの方が優先されます。設定ファイルで
なので「普段はplan、特別なときだけacceptEdits」という運用が自然にできます。
defaultMode: planにしていても、CLIで--permission-mode acceptEditsを指定すればそちらが勝つ。なので「普段はplan、特別なときだけacceptEdits」という運用が自然にできます。
--append-system-promptとCLAUDE.mdはどう使い分ける?
テキトー教師CLAUDE.mdはリポジトリのルールや文脈を常に読ませたいとき。--append-system-promptはセッション単位で振る舞いを微調整したいとき。例えば「このセッションは英語で応答して」というのは後者、「このプロジェクトの命名規則」は前者です。
--json-schemaを使うときのコツは?
室谷JSON Schemaで必須フィールドを
requiredに全部入れること、additionalProperties: falseで余計な出力を禁止することが大事です。これをやらないと想定外のフィールドが混ざってパース失敗します。Claude Codeのスラッシュコマンドは自作できる?
テキトー教師できます。
チームで共通のワークフローを共有したいときに重宝しますね。
.claude/skills/<name>/SKILL.mdを作ればそれが/<name>で呼び出せるスキルになります。チームで共通のワークフローを共有したいときに重宝しますね。
まとめ
室谷Claude Codeのオプションは膨大ですが、実務で本当に使うのは2割くらいに集中します。まずは以下の「最低限知っておくべき」オプションから押さえるのがおすすめです。
テキトー教師優先度順に並べるとこんな感じです。
- 起動・継続系:
claude,claude -p,claude -c,claude -r,claude -n - 権限モード:
--permission-mode plan / acceptEdits / bypass,Shift+Tab - モデル:
--model sonnet / opus,--effort high / max - 自動化:
--output-format json,--max-turns,--max-budget-usd,--json-schema - ツール制御:
--allowedTools,--tools,--add-dir - システムプロンプト:
--append-system-prompt,--append-system-prompt-file - MCP・プラグイン:
--mcp-config,--agents,--plugin-dir - デバッグ:
--debug,--verbose,--bare - スラッシュコマンド:
/compact,/clear,/model,/agents,/hooks,/plugin - 設定ファイル:
~/.claude/settings.json,.claude/settings.json,.claude/settings.local.json
室谷全部を一気に覚える必要はないので、まず1〜4を実戦投入して、慣れてきたら5〜8、チームで使い始めたら9〜10という順で広げていくのがいいですね。
テキトー教師受講生さんにも最初は「
-pと--permission-mode planと-cだけ覚えて使い倒してください」と伝えています。この3つだけでも生産性は一気に上がります。
室谷Claude Codeは毎月のようにオプションが追加・変更されるので、たまに公式のCLIリファレンスを見直す習慣をつけておくと、新機能を取り逃しません。
テキトー教師今後はAuto Modeやリモート制御、チーム連携系がさらに充実していく方向なので、
.AIでも随時アップデート記事を出していきます。ぜひチェックしてみてください。