Claude Code の高度な機能を網羅的に解説するガイド。プランニングモード、拡張思考、オートモード、バックグラウンドタスク、権限モード、プリントモード(非対話モード)、セッション管理、対話機能、チャンネル、音声入力、リモートコントロール、Web セッション、デスクトップアプリ、タスクリスト、プロンプト候補、Git ワークツリー、サンドボックス、マネージド設定、設定ファイルなどを扱う。

目次

  1. 概要
  2. プランニングモード
  3. Ultraplan(クラウドでのプラン作成)
  4. 拡張思考
  5. オートモード
  6. バックグラウンドタスク
  7. Monitor ツール(イベント駆動ストリーム)
  8. スケジュールタスク
  9. 権限モード
  10. ヘッドレスモード
  11. セッション管理
  12. 対話機能
  13. TUI モード(フルスクリーン)
  14. 音声入力
  15. チャンネル
  16. Chrome 連携
  17. リモートコントロール
  18. Web セッション
  19. デスクトップアプリ
  20. タスクリスト
  21. プロンプト候補
  22. Git ワークツリー
  23. サンドボックス
  24. マネージド設定(エンタープライズ)
  25. 設定とコンフィグ
  26. エージェントチーム
  27. ベストプラクティス
  28. 追加リソース

概要

Claude Code の高度な機能は、プランニング、推論、自動化、制御の各仕組みでコア機能を拡張する。これらの機能により、複雑な開発タスク、コードレビュー、自動化、複数セッション管理に対応した高度なワークフローを実現できる。

主な高度な機能:


プランニングモード

プランニングモードでは、複雑なタスクを実装する前に Claude が思考を巡らせ、レビューと承認が可能な詳細な計画を作成できる。

プランニングモードとは

プランニングモードは 2 段階のアプローチである:

  1. 計画フェーズ:Claude がタスクを分析し、詳細な実装計画を作成する
  2. 実装フェーズ:承認後、Claude が計画を実行する

プランニングモードを使うべきとき

✅ プランニングモードが向くケース:

❌ プランニングモードが向かないケース:

プランニングモードの起動

スラッシュコマンド:

/plan Implement user authentication system

CLI フラグ:

claude --permission-mode plan

デフォルトとして設定:

{
  "permissions": {
    "defaultMode": "plan"
  }
}

キーボードショートカット:

プランニングモードのメリット

例:機能実装

User: /plan Add a real-time notification system

Claude: I'll create a plan for implementing real-time notifications.

## Implementation Plan

### Phase 1: Infrastructure Setup
1. Install WebSocket libraries (socket.io)
2. Set up WebSocket server
3. Configure connection management

### Phase 2: Backend Implementation
4. Create notification service
5. Implement notification queue
6. Add database schema for notifications
7. Create API endpoints

### Phase 3: Frontend Integration
8. Set up WebSocket client
9. Create notification UI components
10. Implement notification state management
11. Add notification permissions

### Phase 4: Testing & Deployment
12. Write unit tests
13. Write integration tests
14. Update documentation
15. Deploy to staging

Estimated time: 3-4 hours
Files to modify: 12
New files to create: 8

Ready to proceed? (yes/no/modify plan)

User: yes

Claude: [Begins implementation following the plan]

計画の修正

User: Modify the plan - skip the queue for now, we'll add it later

Claude: Updated plan:
[Shows modified plan with queue removed]

User: Looks good, proceed

Claude: [Implements modified plan]

プランニングモードの設定

プランニングモードは CLI フラグまたはスラッシュコマンドで起動する:

# CLI でプランモードを起動
claude --permission-mode plan

# または REPL 内で /plan スラッシュコマンドを使う
/plan Implement user authentication system

プラン用のモデルエイリアス: opusplan をモデルエイリアスとして使うと、プランニングに Opus、実行に Sonnet を使い分けられる:

claude --model opusplan "design and implement the new API"

外部エディタで計画を編集: Ctrl+G を押すと、現在の計画を外部エディタで開いて詳細に修正できる。

v2.1.112 アップデート: 計画ファイルがランダムな単語ではなく、生成元プロンプトに基づいた名前で保存されるようになり、閲覧と再利用が容易になった。


Ultraplan(クラウドでのプラン作成)

v2.1.101 で新登場: Ultraplan は初回起動時に Claude Code on the web のクラウド環境を自動作成するようになり、手動セットアップやコンテナ起動の待ち時間なしでドラフト作成を始められる。

注: Ultraplan は Research Preview であり、Claude Code v2.1.91 以降が必要である。

/ultraplan は、ローカル CLI からプランニングタスクを Claude Code on the web のセッション(プランモード)に引き渡す。Claude がクラウドで計画を作成している間、ターミナルは別の作業に使え、ブラウザでドラフトをレビューしてから、同じクラウドセッションで実行するか、ターミナルにテレポートして実行するかを選べる。

Ultraplan を使うべきとき

必要要件

起動方法 3 種

利用例

/ultraplan migrate the auth service from sessions to JWTs

Claude が応答してクラウド環境を起動し(v2.1.101 以降は初回実行時に自動作成)、ブラウザで開けるセッションリンクを返す。

ステータス表示

ステータス 意味
◇ ultraplan Claude がコードベースを調査し、計画をドラフト中
◇ ultraplan needs your input Claude が確認質問を持っている。セッションリンクを開いて応答する
◆ ultraplan ready 計画がブラウザでレビュー可能になった

実行オプション

計画が完成すると、実行経路は 2 つある。ブラウザで計画を承認して同じクラウドセッションで実行する場合、Claude がリモートで変更を実装し、Web UI からプルリクエストを開く。あるいは「Approve plan and teleport back to terminal」を選んでローカルで実装する。ターミナルテレポートのダイアログでは 3 つの選択肢が表示される:

警告: Ultraplan を開始するとリモートコントロールは切断される。両機能とも claude.ai/code インターフェースを共有しているため、同時に有効化できるのは一方のみである。


拡張思考

拡張思考により、Claude は複雑な問題について、解を提示する前により多くの時間をかけて推論できる。

拡張思考とは

拡張思考は意図的なステップバイステップの推論プロセスで、Claude は次を行う:

拡張思考の起動

キーボードショートカット:

自動起動:

設定方法:

カスタムバジェット:

export MAX_THINKING_TOKENS=1024

努力度レベル(Opus 4.7、Opus 4.6、Sonnet 4.6 でサポート):

export CLAUDE_CODE_EFFORT_LEVEL=xhigh   # low (○), medium (◐), high (●), xhigh (Opus 4.7 only, default), or max

CLI フラグ:

claude --effort high "complex architectural review"

スラッシュコマンド:

/effort high

注: プロンプトに「ultrathink」というキーワードを含めると深い推論モードが起動する。努力度レベル lowmediumhighmax は Opus 4.7、Opus 4.6、Sonnet 4.6 でサポートされる。xhigh(Opus 4.7 でのデフォルト)は Opus 4.7 専用である。

拡張思考のメリット

例:アーキテクチャ判断

User: /think Should we use microservices or a monolith for our e-commerce platform?

Claude: Let me think through this architectural decision carefully...

<extended_thinking>
## Context Analysis
- Team size: 5 developers
- Expected traffic: 10k daily users initially
- Need to scale to 100k+ users
- Limited DevOps resources
- 6-month timeline to MVP

## Approach 1: Microservices
Pros:
+ Independent scaling
+ Technology flexibility
+ Team independence
+ Fault isolation

Cons:
- Operational complexity
- Network overhead
- Distributed tracing needed
- Requires DevOps expertise
- Slower initial development

## Approach 2: Monolith
Pros:
+ Simpler deployment
+ Faster initial development
+ Easier debugging
+ Lower operational overhead
+ Single codebase

Cons:
- Scaling challenges later
- All-or-nothing deployments
- Technology lock-in
- Potential for tight coupling

## Decision Factors
1. Team size (5 devs) → Favors monolith
2. DevOps resources (limited) → Favors monolith
3. Timeline (6 months) → Favors monolith
4. Future scale (100k users) → Achievable with monolith + caching
5. Complexity budget → Limited

## Recommendation
Start with a **modular monolith**:
- Single deployment unit
- Clear module boundaries
- Clean interfaces between modules
- Prepare for future extraction to microservices if needed

This gives you:
✓ Fast initial development
✓ Low operational complexity
✓ Option to extract services later
✓ Clear architecture

Migration path: When you reach 50k+ users or specific modules need independent scaling, extract those modules into microservices.
</extended_thinking>

**Recommendation**: Implement a modular monolith with clean module boundaries.

This approach balances your current constraints (team size, timeline, DevOps resources) with future scalability needs. You can migrate specific modules to microservices later when there's a clear business need.

拡張思考の設定

拡張思考は環境変数、キーボードショートカット、CLI フラグで制御する:

# 思考トークンのバジェットを設定
export MAX_THINKING_TOKENS=16000

# 努力度レベルを設定 (Opus 4.7, Opus 4.6, Sonnet 4.6): low (○), medium (◐), high (●), xhigh (Opus 4.7 only, default), or max
export CLAUDE_CODE_EFFORT_LEVEL=xhigh

セッション中に切り替える場合は Alt+T / Option+T、努力度の設定は /effort、その他の設定は /config を使う。


オートモード

オートモードは Research Preview の権限モード(2026 年 3 月)で、バックグラウンドの安全分類器が各アクションを実行前にレビューする。Claude が自律的に作業しつつ、危険な操作はブロックできる。

必要要件

オートモードの有効化

# Unlock auto mode with CLI flag (no longer required for Max subscribers on Opus 4.7 — access it directly)
claude --enable-auto-mode

# Then cycle to it with Shift+Tab in the REPL

v2.1.112 アップデート: オートモードに --enable-auto-mode フラグは不要になった。Max サブスクライバは Opus 4.7 で直接アクセスできる。

または、デフォルトの権限モードとして設定する:

claude --permission-mode auto

設定ファイルで指定する:

{
  "permissions": {
    "defaultMode": "auto"
  }
}

分類器の動作

バックグラウンド分類器は次の決定順で各アクションを評価する:

  1. 許可/拒否ルール — 明示的な権限ルールが最初にチェックされる
  2. 読み取り専用/編集の自動承認 — ファイル読み取りと編集は自動的に通過する
  3. 分類器 — バックグラウンド分類器がアクションをレビューする
  4. フォールバック — 連続 3 回または合計 20 回のブロック後、プロンプト確認に切り替わる

デフォルトでブロックされる操作

オートモードはデフォルトで以下をブロックする:

ブロック対象
パイプ経由のシェルインストール curl | bash
機密データの外部送信 API キーや認証情報のネットワーク送信
本番デプロイ 本番を対象とするデプロイコマンド
一括削除 大規模ディレクトリでの rm -rf
IAM の変更 権限とロールの変更
main への強制プッシュ git push --force origin main

デフォルトで許可される操作

許可対象
ローカルファイル操作 プロジェクトファイルの読み書きと編集
宣言された依存関係のインストール マニフェスト経由の npm installpip install
読み取り専用 HTTP ドキュメント取得のための curl
現在のブランチへのプッシュ git push origin feature-branch

オートモードの設定

デフォルトルールを JSON で出力:

claude auto-mode defaults

信頼インフラの設定: エンタープライズ展開向けに autoMode.environment マネージド設定を使う。これにより、管理者は信頼できる CI/CD 環境、デプロイ先、インフラパターンを定義できる。

"$defaults" で既定値を拡張する(v2.1.118)

v2.1.118 以降、autoMode.allowautoMode.soft_denyautoMode.environment"$defaults" トークンを受け付ける。これにより、組み込みリストを置き換えるのではなく、ルールを 追加 できる。v2.1.118 より前では、ユーザー定義の配列が無告知で組み込み設定を上書きしていた。

変更前(組み込みを置き換える — v2.1.118 より前の挙動):

{
  "autoMode": {
    "allow": ["Bash(gh pr list:*)"]
  }
}

変更後(組み込みを拡張する — v2.1.118 以降):

{
  "autoMode": {
    "allow": ["$defaults", "Bash(gh pr list:*)"],
    "soft_deny": ["$defaults", "Bash(kubectl delete:*)"],
    "environment": ["$defaults", "trusted-ci.internal"]
  }
}

組織やプロジェクト固有の追加を重ねつつ、出荷時のベースラインルールを維持したいときは "$defaults" を使う。

フォールバックの動作

分類器の判断が不確実な場合、オートモードはユーザーへのプロンプト確認にフォールバックする:

これにより、分類器が確信を持って承認できない場合でも、ユーザーは常に制御を保持できる。

オートモード相当の権限を投入する(Team プラン不要)

Team プランを持っていない場合、またはバックグラウンド分類器なしでよりシンプルなアプローチを取りたい場合は、~/.claude/settings.json に保守的なベースラインの安全な権限ルールを投入できる。スクリプトはまず読み取り専用とローカル検査のルールから始まり、編集、テスト、ローカル Git 書き込み、パッケージインストール、GitHub 書き込み操作などはオプトインで有効化する。

ファイル: 09-advanced-features/setup-auto-mode-permissions.py

# Preview what would be added (no changes written)
python3 09-advanced-features/setup-auto-mode-permissions.py --dry-run

# Apply the conservative baseline
python3 09-advanced-features/setup-auto-mode-permissions.py

# Add more capability only when you need it
python3 09-advanced-features/setup-auto-mode-permissions.py --include-edits --include-tests
python3 09-advanced-features/setup-auto-mode-permissions.py --include-git-write --include-packages

このスクリプトは以下のカテゴリにわたるルールを追加する:

カテゴリ
コア読み取り専用ツール Read(*)Glob(*)Grep(*)Agent(*)WebSearch(*)WebFetch(*)
ローカル検査 Bash(git status:*)Bash(git log:*)Bash(git diff:*)Bash(cat:*)
オプションの編集 Edit(*)Write(*)NotebookEdit(*)
オプションのテスト/ビルド Bash(pytest:*)Bash(python3 -m pytest:*)Bash(cargo test:*)
オプションの Git 書き込み Bash(git add:*)Bash(git commit:*)Bash(git stash:*)
Git(ローカル書き込み) Bash(git add:*)Bash(git commit:*)Bash(git checkout:*)
パッケージマネージャ Bash(npm install:*)Bash(pip install:*)Bash(cargo build:*)
ビルドとテスト Bash(make:*)Bash(pytest:*)Bash(go test:*)
よく使うシェル Bash(ls:*)Bash(cat:*)Bash(find:*)Bash(cp:*)Bash(mv:*)
GitHub CLI Bash(gh pr view:*)Bash(gh pr create:*)Bash(gh issue list:*)

危険な操作(rm -rfsudo、強制プッシュ、DROP TABLEterraform destroy など)は意図的に除外されている。スクリプトは冪等であり、2 回実行してもルールは重複しない。


バックグラウンドタスク

バックグラウンドタスクにより、長時間処理を会話をブロックせずに実行できる。

バックグラウンドタスクとは

バックグラウンドタスクは作業を継続しつつ非同期で実行される:

基本的な使い方:

User: Run tests in background

Claude: Started task bg-1234

/task list           # Show all tasks
/task status bg-1234 # Check progress
/task show bg-1234   # View output
/task cancel bg-1234 # Cancel task

バックグラウンドタスクの起動

User: Run the full test suite in the background

Claude: Starting tests in background (task-id: bg-1234)
You can continue working while tests run.

[You can continue the conversation]

User: Meanwhile, let's refactor the auth module

Claude: [Works on auth module while tests run in background]

[Later, when tests complete]

Claude: 📢 Background task bg-1234 completed:
✅ 245 tests passed
❌ 3 tests failed
View results: /task show bg-1234

バックグラウンドタスクの管理

実行中タスクの一覧:

User: /task list

Active background tasks:
1. [bg-1234] Running tests (50% complete, 2min remaining)
2. [bg-1235] Building Docker image (25% complete, 8min remaining)
3. [bg-1236] Deploying to staging (90% complete, 30sec remaining)

タスクの状態確認:

User: /task status bg-1234

Task bg-1234: Running tests
Status: In progress
Progress: 120/245 tests (49%)
Started: 2025-11-08 10:30:15
Estimated completion: 2025-11-08 10:34:22

タスク出力の表示:

User: /task show bg-1234

[Shows live output from the test run]

タスクのキャンセル:

User: /task cancel bg-1234

Cancelled background task bg-1234

例:並列開発

User: Run the build in the background

Claude: Starting build... (task-id: bg-5001)

User: Also run the linter in background

Claude: Starting linter... (task-id: bg-5002)

User: While those run, let's implement the new API endpoint

Claude: [Implements API endpoint while build and linter run]

[10 minutes later]

Claude: 📢 Build completed successfully (bg-5001)
📢 Linter found 12 issues (bg-5002)

User: Show me the linter issues

Claude: [Shows linter output from bg-5002]

設定

{
  "backgroundTasks": {
    "enabled": true,
    "maxConcurrentTasks": 5,
    "notifyOnCompletion": true,
    "autoCleanup": true,
    "logOutput": true
  }
}

Monitor ツール(イベント駆動ストリーム)

v2.1.98 で新登場: Monitor ツールは Claude がバックグラウンドコマンドの stdout を監視し、マッチするイベントが現れた瞬間に反応できるようにする。長時間プロセスの待機にポーリングループや sleep を使う必要がなくなる。

Monitor は stdout に書き込む任意のシェルコマンドにアタッチする。コマンドからの stdout 行ごとに通知が発生し、セッションがウェイクする。Claude がコマンドを指定し、ハーネスが出力をストリーミングしてイベント発生時に配信する。基盤プロセスの起動については関連する バックグラウンドタスク のセクションを参照。

なぜ重要か

/loopsleep でポーリングすると、何も変わっていなくてもサイクルごとに API ラウンドトリップを 1 回消費してしまう。Monitor はイベントが発生するまで沈黙を守り、コマンドが静かな間は トークン消費ゼロ で待機する。イベントが発生した瞬間に Claude は反応する — 次のポーリングティックを待つ遅延がない。数分以上動作する処理にはポーリングループより安価かつ高速である。

よくある 2 つのパターン

ストリームフィルタ は長時間動作するソースからの連続出力を監視する。コマンドは永続的に動作し、マッチする行ごとにイベントとなる。

tail -f /var/log/app.log | grep --line-buffered "ERROR"

ポーリング・アンド・エミットフィルタ はソースを定期的にチェックし、変化があったときだけ出力する。ネイティブストリームを持たない API、データベースなどで使う。

last=$(date -u +%Y-%m-%dT%H:%M:%SZ)
while true; do
  gh api "repos/owner/repo/issues/123/comments?since=$last" || true
  last=$(date -u +%Y-%m-%dT%H:%M:%SZ)
  sleep 30
done

具体例

「dev サーバを起動してエラーを監視して」と頼むと、Claude はサーバをバックグラウンドタスクとして起動し、Monitor フィルタ(tail -F server.log | grep --line-buffered -E "ERROR|FATAL")をアタッチする。セッションは静かになる。ログにエラー行が現れた瞬間、Claude は目覚めてエラーを読み、反応できる — サーバ再起動、バグ修正、ユーザーへの通知のいずれも、ユーザーが状況確認に来なくても可能になる。

警告: grep にパイプするときは 必ず grep --line-buffered を使う。これがないと grep は stdout を 4KB チャンクでバッファリングし、低トラフィックのストリームでは数分の遅延が生じることがある。これは Monitor が実運用で壊れる最大の原因である。フィルタが本来鳴るはずなのに沈黙している場合、まず --line-buffered フラグを確認すること。


スケジュールタスク

スケジュールタスクを使うと、定期スケジュールで自動的にプロンプトを実行したり、1 回だけのリマインダーとして実行したりできる。タスクはセッションスコープ — Claude Code が動作している間だけ実行され、セッション終了時にクリアされる。v2.1.72 以降で利用可能。

/loop コマンド

# Explicit interval
/loop 5m check if the deployment finished

# Natural language
/loop check build status every 30 minutes

正確なスケジューリングのため、標準 5 フィールドの cron 式もサポートされる。

1 回限りのリマインダー

特定の時刻に 1 回だけ実行するリマインダーを設定できる:

remind me at 3pm to push the release branch
in 45 minutes, run the integration tests

スケジュールタスクの管理

ツール 説明
CronCreate 新規スケジュールタスクを作成する
CronList アクティブなスケジュールタスクを一覧表示する
CronDelete スケジュールタスクを削除する

制限と挙動:

挙動の詳細

項目 詳細
定期実行のジッタ 間隔の最大 10%(最大 15 分)
1 回限りのジッタ :00/:30 境界で最大 90 秒
取りこぼし キャッチアップなし — Claude Code が動いていなければスキップされる
永続化 再起動をまたいで保持されない

クラウドスケジュールタスク

/schedule を使うと、Anthropic のインフラ上で動作するクラウドスケジュールタスクを作成できる:

/schedule daily at 9am run the test suite and report failures

クラウドスケジュールタスクは再起動をまたいで永続化され、Claude Code をローカルで動かす必要はない。

スケジュールタスクの無効化

export CLAUDE_CODE_DISABLE_CRON=1

例:デプロイの監視

/loop 5m check the deployment status of the staging environment.
        If the deploy succeeded, notify me and stop looping.
        If it failed, show the error logs.

ヒント: スケジュールタスクはセッションスコープである。再起動後も生き残る永続的な自動化には、CI/CD パイプライン、GitHub Actions、デスクトップアプリのスケジュールタスクを使う。


権限モード

権限モードは、明示的な承認なしに Claude が実行できる操作を制御する。

利用可能な権限モード

モード 挙動
default ファイル読み取りのみ。それ以外の操作は確認を求める
acceptEdits ファイル読み取りと編集を許可。コマンドは確認を求める
plan ファイル読み取りのみ(リサーチモード、編集なし)
auto バックグラウンドの安全分類器のチェック付きで全操作を許可(Research Preview)
bypassPermissions 全操作、権限チェックなし(危険)
dontAsk 事前承認済みツールのみ実行、その他はすべて拒否

CLI では Shift+Tab でモードを切り替える。デフォルトは --permission-mode フラグまたは permissions.defaultMode 設定で指定する。

起動方法

キーボードショートカット:

Shift + Tab  # Cycle through all 6 modes

スラッシュコマンド:

/plan                  # Enter plan mode

CLI フラグ:

claude --permission-mode plan
claude --permission-mode auto

設定:

{
  "permissions": {
    "defaultMode": "auto"
  }
}

権限モードの例

Default モード

Claude は重要な操作の前に確認を求める:

User: Fix the bug in auth.ts

Claude: I need to modify src/auth.ts to fix the bug.
The change will update the password validation logic.

Approve this change? (yes/no/show)

Plan モード

実行前に実装計画をレビューする:

User: /plan Implement user authentication system

Claude: I'll create a plan for implementing authentication.

## Implementation Plan
[Detailed plan with phases and steps]

Ready to proceed? (yes/no/modify)

Accept Edits モード

ファイル変更を自動承認する:

User: acceptEdits
User: Fix the bug in auth.ts

Claude: [Makes changes without asking]

ユースケース

コードレビュー:

User: claude --permission-mode plan
User: Review this PR and suggest improvements

Claude: [Reads code, provides feedback, but cannot modify]

ペアプログラミング:

User: claude --permission-mode default
User: Let's implement the feature together

Claude: [Asks for approval before each change]

自動化タスク:

User: claude --permission-mode acceptEdits
User: Fix all linting issues in the codebase

Claude: [Auto-accepts file edits without asking]

ヘッドレスモード

プリントモード(claude -p)により Claude Code を対話入力なしで実行できる。自動化や CI/CD に最適である。これは非対話モードであり、旧来の --headless フラグを置き換える。

プリントモードとは

プリントモードでは次が可能になる:

プリントモードでの実行(非対話)

# Run specific task
claude -p "Run all tests"

# Process piped content
cat error.log | claude -p "Analyze these errors"

# CI/CD integration (GitHub Actions)
- name: AI Code Review
  run: claude -p "Review PR"

プリントモードのその他の使用例

# Run a specific task with output capture
claude -p "Run all tests and generate coverage report"

# With structured output
claude -p --output-format json "Analyze code quality"

# With input from stdin
echo "Analyze code quality" | claude -p "explain this"

例:CI/CD 統合

GitHub Actions:

# .github/workflows/code-review.yml
name: AI Code Review

on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Run Claude Code Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude -p --output-format json \
            --max-turns 3 \
            "Review this PR for:
            - Code quality issues
            - Security vulnerabilities
            - Performance concerns
            - Test coverage
            Output results as JSON" > review.json

      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const review = JSON.parse(fs.readFileSync('review.json', 'utf8'));
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: JSON.stringify(review, null, 2)
            });

プリントモードの設定

プリントモード(claude -p)は自動化向けにいくつかのフラグをサポートする:

# Limit autonomous turns
claude -p --max-turns 5 "refactor this module"

# Structured JSON output
claude -p --output-format json "analyze this codebase"

# With schema validation
claude -p --json-schema '{"type":"object","properties":{"issues":{"type":"array"}}}' \
  "find bugs in this code"

# Disable session persistence
claude -p --no-session-persistence "one-off analysis"

セッション管理

複数の Claude Code セッションを効果的に管理する。

セッション管理コマンド

コマンド 説明
/resume ID または名前で会話を再開する
/rename 現在のセッションに名前を付ける
/fork 現在のセッションを新規ブランチとしてフォークする
claude -c 直近の会話を継続する
claude -r "session" 名前または ID でセッションを再開する

セッションの再開

直近の会話を継続:

claude -c

名前付きセッションの再開:

claude -r "auth-refactor" "finish this PR"

現在のセッションを名前付きにする(REPL 内):

/rename auth-refactor

セッションのフォーク

別アプローチを試したいが元のセッションを失いたくないとき、セッションをフォークする:

/fork

CLI からも実行できる:

claude --resume auth-refactor --fork-session "try OAuth instead"

セッションの永続化

セッションは自動保存され、いつでも再開できる:

# Continue last conversation
claude -c

# Resume specific session by name or ID
claude -r "auth-refactor"

# Resume and fork for experimentation
claude --resume auth-refactor --fork-session "alternative approach"

セッションリキャップ(v2.1.108)

しばらく離れた後にセッションへ戻ると、Claude は何が達成されたかを簡潔に振り返れる。テレメトリが無効化されているユーザー(Bedrock、Vertex、Foundry ユーザー)ではデフォルトで有効である。

リキャップ動作の制御:

/recap                                 # manually trigger a recap
/config                                # toggle auto-recap on/off

または環境変数で:

CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0 claude   # disable recap
CLAUDE_CODE_ENABLE_AWAY_SUMMARY=1 claude   # force enable recap

対話機能

キーボードショートカット

Claude Code は効率向上のためキーボードショートカットをサポートする。公式ドキュメントの完全リファレンス:

ショートカット 説明
Ctrl+C 入力/生成のキャンセル
Ctrl+D Claude Code を終了
Ctrl+G 計画を外部エディタで編集
Ctrl+L ターミナル画面のクリア
Ctrl+O 詳細出力の切り替え(推論を表示)
Ctrl+R 履歴の逆方向検索
Ctrl+T タスクリストビューの切り替え
Ctrl+B 実行中タスクをバックグラウンド化
Esc+Esc コード/会話の巻き戻し
Shift+Tab / Alt+M 権限モードの切り替え
Option+P / Alt+P モデルの切り替え
Option+T / Alt+T 拡張思考の切り替え

行編集(標準 readline ショートカット):

ショートカット 動作
Ctrl + A 行頭へ移動
Ctrl + E 行末へ移動
Ctrl + K 行末まで切り取り
Ctrl + U 行頭まで切り取り
Ctrl + W 後方の単語を削除
Ctrl + Y ペースト(ヤンク)
Tab 自動補完
↑ / ↓ コマンド履歴

キーバインドのカスタマイズ

/keybindings を実行するとカスタムキーボードショートカットを作成できる。コマンドは ~/.claude/keybindings.json を編集用に開く(v2.1.18 以降)。

設定形式:

{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null,
        "ctrl+k ctrl+s": "chat:stash"
      }
    },
    {
      "context": "Confirmation",
      "bindings": {
        "ctrl+a": "confirmation:yes"
      }
    }
  ]
}

バインドを null に設定するとデフォルトのショートカットを解除できる。

利用可能なコンテキスト

キーバインドは特定の UI コンテキストにスコープされる:

コンテキスト 主な動作
Chat submitcancelcycleModemodelPickerthinkingToggleundoexternalEditorstashimagePaste
Confirmation yesnopreviousnextnextFieldcycleModetoggleExplanation
Global interruptexittoggleTodostoggleTranscript
Autocomplete acceptdismissnextprevious
HistorySearch searchpreviousnext
Settings コンテキスト固有の設定ナビゲーション
Tabs タブの切り替えと管理
Help ヘルプパネルのナビゲーション

TranscriptTaskThemePickerAttachmentsFooterMessageSelectorDiffDialogModelPickerSelect を含め、合計 18 のコンテキストがある。

コードのサポート

キーバインドはコード(複数キーの組み合わせ)をサポートする:

"ctrl+k ctrl+s"   → Two-key sequence: press ctrl+k, then ctrl+s
"ctrl+shift+p"    → Simultaneous modifier keys

キー記法:

予約キーと競合キー

キー 状態 備考
Ctrl+C 予約 リバインド不可(割り込み)
Ctrl+D 予約 リバインド不可(終了)
Ctrl+B ターミナル競合 tmux のプレフィックスキー
Ctrl+A ターミナル競合 GNU Screen のプレフィックスキー
Ctrl+Z ターミナル競合 プロセスサスペンド

ヒント: ショートカットが効かない場合、ターミナルエミュレータやマルチプレクサとの競合を確認すること。

タブ補完

Claude Code はインテリジェントなタブ補完を提供する:

User: /rew<TAB>
→ /rewind

User: /plu<TAB>
→ /plugin

User: /plugin <TAB>
→ /plugin install
→ /plugin enable
→ /plugin disable

コマンド履歴

過去のコマンドにアクセスする:

User: <↑>  # Previous command
User: <↓>  # Next command
User: Ctrl+R  # Search history

(reverse-i-search)`test': run all tests

複数行入力

複雑なクエリには複数行モードを使う:

User: \
> Long complex prompt
> spanning multiple lines
> \end

例:

User: \
> Implement a user authentication system
> with the following requirements:
> - JWT tokens
> - Email verification
> - Password reset
> - 2FA support
> \end

Claude: [Processes the multi-line request]

インライン編集

送信前にコマンドを編集できる:

User: Deploy to prodcution<Backspace><Backspace>uction

[Edit in-place before sending]

Vim モード

テキスト編集に Vi/Vim キーバインドを有効化する:

起動:

ナビゲーションキー:

テキストオブジェクト:

ビジュアルモード(v2.1.118 以降):

キー モード 挙動
v Visual 文字単位の選択。視覚的フィードバック付き。モーションキーで拡張する
V Visual-line 行単位の選択。常に行全体を選択する
y Yank 現在のビジュアル選択をコピー
d / x Delete 現在のビジュアル選択を削除
c Change 選択を削除して INSERT モードへ
Esc Exit NORMAL モードへ戻る

ビジュアル選択は入力フィールド内でハイライトされ、操作確定前にヤンク/削除/変更の対象を正確に確認できる。

Bash モード

! プレフィックスでシェルコマンドを直接実行する:

! npm test
! git status
! cat src/index.js

コンテキストを切り替えずに素早くコマンドを実行したいときに使う。


TUI モード(フルスクリーン)

v2.1.110 で新登場

TUI(Text User Interface)モードは Claude Code をちらつきのない出力でフルスクリーン表示する。tmux や iTerm2 の分割ペインなどのターミナルマルチプレクサに最適である。

TUI モードの有効化

/tui コマンドで切り替えるか、--tui フラグで起動する:

/tui          # toggle from within a session
claude --tui  # start directly in TUI mode

設定

設定 説明 デフォルト
autoScrollEnabled 最新メッセージへ自動スクロール true

/config または settings.json から自動スクロールを無効化する:

{
  "autoScrollEnabled": false
}

フォーカスビュー

/focus コマンドはフォーカスビューを切り替える — 最も関連性の高い出力だけを表示する集中モードである。Ctrl+O は通常表示と詳細トランスクリプト表示の切り替えのみを行うようになった(フォーカスビューは /focus)。


音声入力

音声入力は Claude Code でプッシュ・トゥ・トークの音声入力を提供し、タイピングではなくプロンプトを話して入力できるようにする。

音声入力の起動

/voice

機能

機能 説明
プッシュ・トゥ・トーク キーを押している間録音し、離すと送信する
20 言語対応 音声テキスト変換が 20 言語をサポート
カスタムキーバインド /keybindings でプッシュ・トゥ・トークキーを設定
アカウント要件 STT 処理に Claude.ai アカウントが必要

設定

キーバインド設定ファイル(/keybindings)でプッシュ・トゥ・トークのキーバインドをカスタマイズする。音声入力は Claude.ai アカウントを使って音声テキスト変換を行う。


チャンネル

チャンネルは Research Preview の機能で、MCP サーバ経由で外部サービスのイベントを実行中の Claude Code セッションにプッシュする。Telegram、Discord、iMessage、任意の Webhook をソースとして利用でき、ポーリングなしで Claude がリアルタイム通知に反応できる。

チャンネルの購読

# Subscribe to channel plugins at startup
claude --channels discord,telegram

# Subscribe to multiple sources
claude --channels discord,telegram,imessage,webhooks

サポート対象の連携

連携 説明
Discord セッション内で Discord メッセージを受信して応答する
Telegram セッション内で Telegram メッセージを受信して応答する
iMessage セッション内で iMessage 通知を受信する
Webhooks 任意の Webhook ソースからイベントを受信する

設定

起動時に --channels フラグでチャンネルを設定する。エンタープライズ展開では、許可するチャンネルプラグインを制御するマネージド設定を使う:

{
  "allowedChannelPlugins": ["discord", "telegram"]
}

allowedChannelPlugins マネージド設定は、組織全体で許可されるチャンネルプラグインを制御する。

仕組み

  1. MCP サーバが外部サービスに接続するチャンネルプラグインとして動作する
  2. 受信メッセージとイベントがアクティブな Claude Code セッションへプッシュされる
  3. Claude はセッションのコンテキスト内でメッセージを読んで応答できる
  4. チャンネルプラグインは allowedChannelPlugins マネージド設定で承認が必要
  5. ポーリング不要 — イベントはリアルタイムでプッシュされる

Chrome 連携

Chrome 連携は、Claude Code を Chrome または Microsoft Edge ブラウザに接続し、ライブな Web 自動化とデバッグを行う機能である。これは v2.0.73 以降で利用可能なベータ機能である(Edge サポートは v1.0.36 以降で追加)。

Chrome 連携の有効化

起動時:

claude --chrome      # Enable Chrome connection
claude --no-chrome   # Disable Chrome connection

セッション内:

/chrome

「Enabled by default」を選択すると、今後すべてのセッションで Chrome 連携が有効になる。Claude Code はブラウザのログイン状態を共有するため、認証済み Web アプリと対話できる。

機能

機能 説明
ライブデバッグ コンソールログの読み取り、DOM 要素の検査、JavaScript のリアルタイムデバッグ
デザイン検証 レンダリングされたページとデザインモックアップを比較
フォーム検証 フォーム送信、入力検証、エラーハンドリングをテスト
Web アプリのテスト 認証済みアプリ(Gmail、Google Docs、Notion など)と対話
データ抽出 Web ページのコンテンツをスクレイプして処理
セッション録画 ブラウザ操作を GIF ファイルとして録画

サイト単位の権限

Chrome 拡張機能はサイトごとのアクセスを管理する。拡張機能のポップアップから、特定サイトへのアクセスをいつでも許可・取り消しできる。Claude Code は明示的に許可されたサイトとのみ対話する。

仕組み

Claude Code は表示されたウィンドウ内でブラウザを操作する — 操作の様子をリアルタイムで観察できる。ブラウザがログインページや CAPTCHA に遭遇すると、Claude は一時停止して手動対応を待つ。

既知の制限

ヒント: Chrome 連携はベータ機能である。今後のリリースでブラウザサポートが拡大する可能性がある。


リモートコントロール

リモートコントロールにより、ローカルで動作中の Claude Code セッションをスマートフォン、タブレット、任意のブラウザから継続できる。ローカルセッションはマシン上で動き続ける — クラウドへ移動するものは何もない。Pro、Max、Team、Enterprise プランで利用可能(v2.1.51 以降)。

リモートコントロールの開始

CLI から:

# Start with default session name
claude remote-control

# Start with a custom name
claude remote-control --name "Auth Refactor"

セッション内から:

/remote-control
/remote-control "Auth Refactor"

利用可能なフラグ:

フラグ 説明
--name "title" 識別しやすいセッションタイトル
--verbose 詳細な接続ログを表示
--sandbox ファイルシステムとネットワークの隔離を有効化
--no-sandbox サンドボックスを無効化(デフォルト)

セッションへの接続

別デバイスから接続する 3 つの方法:

  1. セッション URL — セッション開始時にターミナルに出力される。任意のブラウザで開ける
  2. QR コード — 開始後 spacebar を押すとスキャン可能な QR コードが表示される
  3. 名前で検索 — claude.ai/code または Claude モバイルアプリ(iOS/Android)でセッションを参照

セキュリティ

リモートコントロール vs Claude Code on the web

観点 リモートコントロール Claude Code on Web
実行場所 マシン上で動作 Anthropic クラウド上で動作
ローカルツール ローカル MCP サーバ、ファイル、CLI へのフルアクセス ローカル依存なし
ユースケース 別デバイスからローカル作業を継続 任意のブラウザで新規開始

制限

ユースケース

プッシュ通知(v2.1.110)

リモートコントロールがアクティブで、/config で「Push when Claude decides」が有効になっている場合、Claude はモバイルプッシュ通知を送信できる — 例えば長時間タスクの完了時や入力が必要なときなど。

有効化方法:

  1. リモートコントロールを起動:/remote-control または claude --rc
  2. /config を開いて Push when Claude decides を有効化

プッシュ通知には Claude サブスクリプションと Claude モバイルアプリが必要である。


Web セッション

Web セッションでは、claude.ai/code 上のブラウザで直接 Claude Code を実行したり、CLI から Web セッションを作成したりできる。

Web セッションの作成

# Create a new web session from the CLI
claude --remote "implement the new API endpoints"

これにより claude.ai 上で Claude Code セッションが開始され、任意のブラウザからアクセスできる。

Web セッションをローカルで再開

Web で開始したセッションをローカルで継続したい場合:

# Resume a web session in the local terminal
claude --teleport

または対話 REPL 内で:

/teleport

ユースケース


デスクトップアプリ

Claude Code デスクトップアプリは、視覚的な diff レビュー、並列セッション、統合コネクタを備えたスタンドアロンアプリケーションである。macOS と Windows で利用可能(Pro、Max、Team、Enterprise プラン)。

インストール

claude.ai からプラットフォームに合わせてダウンロードする:

セットアップ手順は Desktop Quickstart を参照。

CLI からの引き渡し

現在の CLI セッションをデスクトップアプリに転送する:

/desktop

コア機能

機能 説明
Diff ビュー ファイルごとの視覚的レビューとインラインコメント。Claude はコメントを読んで修正する
アプリプレビュー dev サーバを自動起動し、組み込みブラウザでライブ検証
PR 監視 GitHub CLI 連携。CI 失敗の自動修正、チェック完了時の自動マージ
並列セッション サイドバーで複数セッションを管理。Git ワークツリーで自動的に隔離
スケジュールタスク 定期タスク(時次、日次、平日、週次)。アプリが開いている間に実行
リッチレンダリング コード、Markdown、図表のレンダリングとシンタックスハイライト

アプリプレビューの設定

.claude/launch.json で dev サーバの動作を設定する:

{
  "command": "npm run dev",
  "port": 3000,
  "readyPattern": "ready on",
  "persistCookies": true
}

コネクタ

外部サービスを接続してより豊かなコンテキストを得る:

コネクタ 機能
GitHub PR 監視、Issue トラッキング、コードレビュー
Slack 通知、チャンネルコンテキスト
Linear Issue トラッキング、スプリント管理
Notion ドキュメント、ナレッジベースアクセス
Asana タスク管理、プロジェクト追跡
Calendar スケジュール認識、ミーティングコンテキスト

注: コネクタはリモート(クラウド)セッションでは利用不可。

リモートと SSH セッション

デスクトップでの権限モード

デスクトップアプリは CLI と同じ 4 つの権限モードをサポートする:

モード 挙動
Ask permissions(デフォルト) すべての編集とコマンドをレビューして承認
Auto accept edits ファイル編集は自動承認、コマンドは手動承認
Plan mode 変更前にアプローチをレビュー
Bypass permissions 自動実行(サンドボックス限定、管理者制御)

エンタープライズ機能


タスクリスト

タスクリスト機能はコンテキストコンパクション(コンテキストウィンドウに収めるため会話履歴がトリミングされること)を生き延びる永続的なタスク追跡を提供する。

タスクリストの切り替え

セッション中に Ctrl+T を押すとタスクリストビューを切り替えられる。

永続的なタスク

タスクはコンテキストコンパクションをまたいで永続化されるため、長時間の作業項目が会話コンテキストのトリミング時に失われない。複雑で多段階の実装に特に有用である。

名前付きタスクディレクトリ

CLAUDE_CODE_TASK_LIST_ID 環境変数を使うと、複数セッションで共有される名前付きタスクディレクトリを作成できる:

export CLAUDE_CODE_TASK_LIST_ID=my-project-sprint-3

これにより複数セッションが同じタスクリストを共有でき、チームワークフローや複数セッションプロジェクトに有用である。


プロンプト候補

プロンプト候補は、Git 履歴と現在の会話コンテキストに基づき、グレーアウトされた例示コマンドを表示する。

仕組み

プロンプト候補の無効化

export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false

Git ワークツリー

Git ワークツリーにより、隔離されたワークツリーで Claude Code を起動できる。スタッシュやブランチ切り替えなしに、異なるブランチでの並列作業が可能になる。

ワークツリーで起動

# Start Claude Code in an isolated worktree
claude --worktree
# or
claude -w

ワークツリーの保存場所

ワークツリーは以下に作成される:

<repo>/.claude/worktrees/<name>

モノレポ向けスパースチェックアウト

worktree.sparsePaths 設定でモノレポにスパースチェックアウトを行い、ディスク使用量とクローン時間を削減できる:

{
  "worktree": {
    "sparsePaths": ["packages/my-package", "shared/"]
  }
}

ワークツリーのツールとフック

項目 説明
ExitWorktree 現在のワークツリーを終了してクリーンアップするツール
WorktreeCreate ワークツリー作成時に発火するフックイベント
WorktreeRemove ワークツリー削除時に発火するフックイベント

自動クリーンアップ

ワークツリーで変更が行われていない場合、セッション終了時に自動でクリーンアップされる。

ユースケース


サンドボックス

サンドボックスは、Claude Code が実行する Bash コマンドに OS レベルのファイルシステムとネットワーク隔離を提供する。これは権限ルールを補完し、追加のセキュリティレイヤーを提供する。

サンドボックスの有効化

スラッシュコマンド:

/sandbox

CLI フラグ:

claude --sandbox       # Enable sandboxing
claude --no-sandbox    # Disable sandboxing

設定項目

設定 説明
sandbox.enabled サンドボックスを有効化/無効化
sandbox.failIfUnavailable サンドボックスを起動できない場合に失敗させる
sandbox.filesystem.allowWrite 書き込みを許可するパス
sandbox.filesystem.allowRead 読み取りを許可するパス
sandbox.filesystem.denyRead 読み取りを拒否するパス
sandbox.network.allowedDomains Bash 起動プロセスからアクセスを許可するドメイン(*. ワイルドカード対応)
sandbox.network.deniedDomains allowedDomains のワイルドカードで許可されてもブロックするドメイン(v2.1.113 以降)
sandbox.enableWeakerNetworkIsolation macOS で弱いネットワーク隔離を有効化

deniedDomains が広いワイルドカードを上書きする例(v2.1.113 以降):

{
  "sandbox": {
    "network": {
      "allowedDomains": ["*.example.com"],
      "deniedDomains": ["evil.example.com"]
    }
  }
}

ワイルドカードによって example.com 上のすべてが通過するが、deniedDomains で個別指定したホストはブロックされる。

設定例

{
  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true,
    "filesystem": {
      "allowWrite": ["/Users/me/project"],
      "allowRead": ["/Users/me/project", "/usr/local/lib"],
      "denyRead": ["/Users/me/.ssh", "/Users/me/.aws"]
    },
    "enableWeakerNetworkIsolation": true
  }
}

仕組み

ユースケース


マネージド設定(エンタープライズ)

マネージド設定により、エンタープライズ管理者がプラットフォームネイティブの管理ツールを使って組織全体で Claude Code 設定を展開できる。

展開方法

プラットフォーム 方法 対応バージョン
macOS マネージド plist ファイル(MDM) v2.1.51 以降
Windows Windows レジストリ v2.1.51 以降
クロスプラットフォーム マネージド設定ファイル v2.1.51 以降
クロスプラットフォーム マネージドドロップイン(managed-settings.d/ ディレクトリ) v2.1.83 以降

マネージドドロップイン

v2.1.83 以降、管理者は複数のマネージド設定ファイルを managed-settings.d/ ディレクトリに配置できる。ファイルはアルファベット順にマージされ、チーム横断のモジュラー設定が可能になる:

~/.claude/managed-settings.d/
  00-org-defaults.json
  10-team-policies.json
  20-project-overrides.json

利用可能なマネージド設定

設定 説明
disableBypassPermissionsMode ユーザーによる bypass permissions の有効化を防ぐ
availableModels ユーザーが選択可能なモデルを制限する
allowedChannelPlugins 許可するチャンネルプラグインを制御する
autoMode.environment オートモードの信頼インフラを設定する
wslInheritsWindowsSettings Windows/WSL 限定(v2.1.118 以降):true の場合、WSL 内で動作する Claude Code が Windows ホストのマネージド設定を継承し、Registry/MDM で展開された企業ポリシーが Windows シェルと WSL シェルで均一に適用される
カスタムポリシー 組織固有の権限とツールポリシー

例:macOS Plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>disableBypassPermissionsMode</key>
  <true/>
  <key>availableModels</key>
  <array>
    <string>claude-sonnet-4-6</string>
    <string>claude-haiku-4-5</string>
  </array>
</dict>
</plist>

設定とコンフィグ

設定ファイルの場所

  1. グローバル設定: ~/.claude/config.json
  2. プロジェクト設定: ./.claude/config.json
  3. ユーザー設定: ~/.config/claude-code/settings.json

完全な設定例

コア高度機能の設定:

{
  "permissions": {
    "mode": "default"
  },
  "hooks": {
    "PreToolUse:Edit": "eslint --fix ${file_path}",
    "PostToolUse:Write": "~/.claude/hooks/security-scan.sh"
  },
  "mcp": {
    "enabled": true,
    "servers": {
      "github": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-github"]
      }
    }
  }
}

拡張設定例:

{
  "permissions": {
    "mode": "default",
    "allowedTools": ["Bash(git log:*)", "Read"],
    "disallowedTools": ["Bash(rm -rf:*)"]
  },

  "hooks": {
    "PreToolUse": [{ "matcher": "Edit", "hooks": ["eslint --fix ${file_path}"] }],
    "PostToolUse": [{ "matcher": "Write", "hooks": ["~/.claude/hooks/security-scan.sh"] }],
    "Stop": [{ "hooks": ["~/.claude/hooks/notify.sh"] }]
  },

  "mcp": {
    "enabled": true,
    "servers": {
      "github": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-github"],
        "env": {
          "GITHUB_TOKEN": "${GITHUB_TOKEN}"
        }
      }
    }
  }
}

環境変数

設定を環境変数で上書きする:

# Model selection
export ANTHROPIC_MODEL=claude-opus-4-7
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

# API configuration
export ANTHROPIC_API_KEY=sk-ant-...

# Thinking configuration
export MAX_THINKING_TOKENS=16000
export CLAUDE_CODE_EFFORT_LEVEL=xhigh   # low, medium, high, xhigh (Opus 4.7 only, default), or max (supported on Opus 4.7, Opus 4.6, Sonnet 4.6)

# Feature toggles
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=true
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=true
export CLAUDE_CODE_DISABLE_CRON=1
export CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=true
export CLAUDE_CODE_DISABLE_TERMINAL_TITLE=true
export CLAUDE_CODE_DISABLE_1M_CONTEXT=true
export CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=true
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
export CLAUDE_CODE_ENABLE_TASKS=true
export CLAUDE_CODE_SIMPLE=true              # Set by --bare flag

# MCP configuration
export MAX_MCP_OUTPUT_TOKENS=50000
export ENABLE_TOOL_SEARCH=true

# Prompt caching
export ENABLE_PROMPT_CACHING_1H=1      # Use 1-hour prompt cache TTL (default is 5 min)

# Task management
export CLAUDE_CODE_TASK_LIST_ID=my-project-tasks

# Agent teams (experimental)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

# Subagent and plugin configuration
export CLAUDE_CODE_SUBAGENT_MODEL=sonnet
export CLAUDE_CODE_PLUGIN_SEED_DIR=./my-plugins
export CLAUDE_CODE_NEW_INIT=1

# Subprocess and streaming
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB="SECRET_KEY,DB_PASSWORD"
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80
export CLAUDE_STREAM_IDLE_TIMEOUT_MS=30000
export ANTHROPIC_CUSTOM_MODEL_OPTION=my-custom-model
export SLASH_COMMAND_TOOL_CHAR_BUDGET=50000

v2.1.108: ENABLE_PROMPT_CACHING_1H=1 — デフォルトの 5 分 TTL ではなく 1 時間のプロンプトキャッシュ TTL を使用する。安定した長時間セッションでキャッシュミスを削減する。

設定管理コマンド

User: /config
[Opens interactive configuration menu]

/config コマンドは以下のような設定をトグルする対話メニューを提供する:

プロジェクト単位の設定

プロジェクトに .claude/config.json を作成する:

{
  "hooks": {
    "PreToolUse": [{ "matcher": "Bash", "hooks": ["npm test && npm run lint"] }]
  },
  "permissions": {
    "mode": "default"
  },
  "mcp": {
    "servers": {
      "project-db": {
        "command": "mcp-postgres",
        "env": {
          "DATABASE_URL": "${PROJECT_DB_URL}"
        }
      }
    }
  }
}

エージェントチーム

エージェントチームは複数の Claude Code インスタンスがタスクで協業できる実験的機能である。デフォルトでは無効化されている。

エージェントチームの有効化

環境変数または設定で有効化する:

# Environment variable
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

または設定 JSON に追加する:

{
  "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}

エージェントチームの仕組み

表示モード

エージェントチームは --teammate-mode フラグで設定する 2 つの表示モードをサポートする:

モード 説明
in-process(デフォルト) チームメイトが同じターミナルプロセス内で動作する
tmux 各チームメイトが専用の分割ペインを持つ(tmux または iTerm2 が必要)
auto 最適な表示モードを自動選択する
# Use tmux split panes for teammate display
claude --teammate-mode tmux

# Explicitly use in-process mode
claude --teammate-mode in-process

ユースケース

注: エージェントチームは実験的機能であり、今後のリリースで変更される可能性がある。完全なリファレンスは code.claude.com/docs/en/agent-teams を参照。


ベストプラクティス

プランニングモード

拡張思考

バックグラウンドタスク

権限

セッション


追加リソース

Claude Code および関連機能の詳細:


最終更新: 2026 年 4 月 24 日 Claude Code バージョン: 2.1.119 情報源:

互換モデル: Claude Sonnet 4.6、Claude Opus 4.7、Claude Haiku 4.5