概要
Claude Codeは、AnthropicのClaude AIモデルを使用したコマンドラインインターフェース (CLI) 開発ツールである。
このページでは、Claude Codeの主要機能とコマンドリファレンスを解説する。
特に重要な2つの機能を詳細に説明し、その他の有用なスラッシュコマンドとキーボードショートカットについても概要を示す。
主要機能は以下の通りである。
- セッション再開機能 (/resume)
- 以前の会話セッションに復帰する機能
- 複数の作業セッションを並行管理できる
- 巻き戻し機能 (/rewind)
- コード変更と会話履歴を任意のポイントまで巻き戻す
- 探索的なアプローチを安全に実行できる
これらの機能により、開発作業の効率性と柔軟性が大幅に向上する。
セッション再開機能 (/resume)
セッション再開機能は、以前の会話セッションに復帰して作業を継続する機能である。
複数のタスクを並行して管理し、中断した作業を後から再開することができる。
基本的な使い方
セッションを再開するには、以下の3つの方法がある。
- 方法1 : 前回のセッションに自動復帰
claude --continue
- 方法2 : 特定のセッションに復帰
claude --resume <セッション名>
- 方法3 : セッション内でのコマンド
/resume
セッション内で /resume コマンドを実行すると、インタラクティブなセッションピッカーが起動する。
セッションピッカーの機能
セッションピッカーは、保存されているセッションを管理するための対話的なインターフェースである。
セッションピッカーでできること
- セッションの検索
- キーワードでセッションを絞り込む。
- プレビュー表示
- セッションの内容を確認してから選択できる。
- 名前変更
- セッションに分かりやすい名前を付けられる。
- セッション削除
- 不要なセッションを削除できる。
操作方法
- 矢印キー
- セッションの選択
- Enter
- セッションの再開
- /
- 検索モード
- r
- 名前変更
- d
- セッション削除
- Esc
- キャンセル
セッションの自動保存
Claude Codeのセッションは、ローカルに自動的に保存される。
保存に関する仕様を以下に示す。
- 保存場所
- ローカルストレージ (ブラウザ版の場合はIndexedDB)
- CLI版の場合は設定ディレクトリ
- 保存期間
- 30日間
- 30日経過後は自動的に削除される
- 保存内容
- 会話履歴
- ファイルの変更履歴
- コンテキスト情報
- セッション設定
セッション名の設定
セッションに分かりやすい名前を設定することで、管理が容易になる。
名前設定のタイミング
- セッション開始時
claude --resume <セッション名>
- セッション中
/resumeコマンドでセッションピッカーを開き、名前変更
- セッション終了時
- 次回のために名前を設定
名前設定のベストプラクティス
- プロジェクト名や機能名を含める
- 例: "user-auth-refactoring"
- 作業内容を簡潔に表現
- 例: "fix-login-bug"
- 日付を含める (長期プロジェクトの場合)
- 例: "api-redesign-2025-01"
Gitワーカーツリーとの統合
セッション再開機能は、Gitのワーカーツリーと統合して使用できる。
ワーカーツリー統合の仕組みを以下に示す。
- ワーカーツリーごとにセッションを保存
- 各ワーカーツリーで独立した作業セッションを管理
- ディレクトリ切り替え時の自動認識
- ワーカーツリーを切り替えると、対応するセッションが自動選択される
- ブランチとセッションの対応付け
- 特定のブランチでの作業セッションを追跡できる
使用例を以下に示す。
# メインブランチのワーカーツリーで作業 cd ~/project/main claude --resume main-development
# 別のワーカーツリーに切り替え cd ~/project/feature-branch claude --resume feature-implementation
このように、複数のワーカーツリーで並行して異なるタスクを進めることができる。
使用すべきケース
セッション再開機能を使用すべきケースを以下に示す。
複数タスクの並行実行
- 複数の機能開発を同時に進める
- 各機能ごとにセッションを作成
- バグ修正と機能開発を並行
- バグ修正セッションと機能開発セッションを分ける
- レビュー対応と新規開発を並行
- レビュー指摘対応用のセッションを別に作成
作業の中断と再開
- 緊急タスクの割り込み
- 現在の作業を中断して緊急タスクに対応
- 緊急タスク完了後に元の作業に復帰
- 長期プロジェクトの継続
- 数日または数週間にわたるプロジェクトの継続
- 毎日同じセッションに復帰して作業を続ける
- コンテキストの保持
- 複雑な作業のコンテキストを失わずに保持
- 再開時に前回の作業内容を即座に思い出せる
推奨される方法
セッション再開機能を効果的に使用するために推奨される方法を以下に示す。
早期のセッション名設定
- 作業開始時にすぐにセッション名を設定する
- デフォルトの自動生成名ではなく、分かりやすい名前を使用
- 作業内容が明確になったら名前を更新
- 最初は仮の名前でも、後で適切な名前に変更できる
ディレクトリ構造への留意
- プロジェクトのディレクトリ構造を考慮してセッションを管理
- サブディレクトリごとにセッションを分けることも検討
- Gitのワーカーツリーを活用
- ブランチごとにワーカーツリーを作成し、セッションと対応付ける
定期的なセッション整理
- 完了したセッションは削除する
- 不要なセッションが蓄積しないようにする
- 長期保存が必要な場合はエクスポート
- 重要な会話履歴は別途保存する
巻き戻し機能 (/rewind)
巻き戻し機能は、コード変更と会話履歴を任意のポイントまで巻き戻す機能である。
探索的なアプローチでコーディングを行い、失敗した場合でも簡単に元の状態に戻すことができる。
基本的な使い方
巻き戻し機能を起動する方法を以下に示す。
方法 1 : キーボードショートカット
- [Esc] -> [Esc] (Escキーを2回連続で押す)
- 巻き戻しメニューが表示される
方法 2 : スラッシュコマンド
/rewind
巻き戻しメニューでは、以下の3つの選択肢が表示される。
巻き戻しの3つの選択肢
巻き戻し時に、以下の3つの選択肢から選択できる。
| 選択肢 | 説明 | 使用場面 |
|---|---|---|
| Conversation only | 会話履歴のみを巻き戻す | コードは保持したまま、会話を再開したい場合 |
| Code only | コード変更のみを巻き戻す | 会話履歴は保持したまま、コードを元に戻したい場合 |
| Both | 会話とコード両方を巻き戻す | 完全に前の状態に戻したい場合 |
選択後、巻き戻したいポイント (ユーザプロンプト または ファイル編集) を選択する。
自動追跡される変更
巻き戻し機能は、以下の変更を自動的に追跡する。
追跡される変更:
- ユーザプロンプト
- ユーザが入力した全てのプロンプト
- ファイル編集
- Edit、Write、NotebookEdit ツールによる変更
- ファイルの作成、変更、削除
- セッション履歴
- 会話の流れとコンテキスト
追跡されない変更 (制限事項):
- Bashコマンドでの変更
git commitnpm install- これらの変更は手動で元に戻す必要がある。
- 外部ツールでの変更
- Claude Code外で行われた変更
使用すべきケース
巻き戻し機能を使用すべきケースを以下に示す。
探索的アプローチ
- 複数のアプローチを試す
- アプローチAを試して、うまくいかなければ巻き戻してアプローチBを試す
- 実験的な実装
- 新しいライブラリやパターンを試して、問題があれば元に戻す
- リファクタリングの試行
- リファクタリングを試して、結果が良くなければ元に戻す
失敗した実装の取り消し
- バグが発生した場合
- 変更によってバグが発生した場合、すぐに元に戻す
- パフォーマンス低下
- 変更によってパフォーマンスが低下した場合
- テストの失敗
- 変更によってテストが失敗した場合
会話の再構成
- 会話の方向性を変える
- 会話が脱線した場合、前のポイントに戻って方向性を変える
- 誤った指示の訂正
- 誤った指示を出した場合、巻き戻して正しい指示を出す
推奨される事柄
巻き戻し機能を効果的に使用するための推奨される事柄を以下に示す。
段階的な変更
- 小さな変更を積み重ねる
- 大きな変更を一度に行うのではなく、小さな変更を段階的に行う
- 巻き戻しが容易になる
- 各段階で動作確認
- 変更後に動作を確認してから次の変更に進む
Git統合
- 巻き戻し後にGitコミット
- 巻き戻した後、良い状態をGitにコミットする
- Gitとの併用
- 巻き戻し機能はGitの代替ではなく、Gitと併用する
- Gitで管理できない細かい変更に巻き戻し機能を使用
会話の整理
- 重要なポイントでマーク
- 重要な決定や変更の後に、明示的なコメントを残す
- 巻き戻し時に見つけやすくなる
Bashコマンドへの注意
- Bashコマンドの変更は手動で元に戻す、
git commit、npm install等は巻き戻されない。- これらのコマンドを実行する前に、状態を確認する。
その他の重要なスラッシュコマンド
Claude Codeには、上記2つの主要機能以外にも有用なスラッシュコマンドが多数存在する。
セッション管理
/exit- セッションを終了する
/clear- 会話履歴をクリアする (コードは保持)
/reset- セッション全体をリセット
サブエージェント関連
/agents- 利用可能なサブエージェントの一覧を表示
- サブエージェントの詳細情報を確認
設定とコンテキスト
/config- Claude Codeの設定を表示・変更
/context- 現在のコンテキスト情報を表示
- コンテキストウインドウの使用状況を確認
コスト管理
/cost- 現在のセッションのコストを表示
- トークン使用量とAPI呼び出し回数を確認
診断とトラブルシューティング
/doctor- Claude Codeの動作環境を診断
- 問題があれば修正方法を提案
ヘルプ
/help- 利用可能なコマンドの一覧を表示
- 各コマンドの使い方を確認
キーボードショートカット一覧
Claude Codeで使用できるキーボードショートカットを以下に示す。
| ショートカット | 機能 | 説明 |
|---|---|---|
| [Ctrl] + [C] | 中断 | 実行中の処理を中断 |
| [Ctrl] + [D] | 終了 | セッションを終了 |
| [Ctrl] + [G] | Gitコミット | 変更をGitにコミット (対話的) |
| [Shift] + [Tab] | プランモード切り替え | プランモードと通常モードを切り替え |
| [Esc] -> [Esc] ([Esc]キーを2回押下) |
巻き戻し | 巻き戻しメニューを表示 |
| [Ctrl] + [L] | 画面クリア | ターミナル画面をクリア (会話は保持) |
| [Tab] | 自動補完 | コマンドやパスの自動補完 |
| 矢印キー (上 / 下) | 履歴移動 | 入力履歴を遡る・進む |
主要なCLIフラグ
Claude Codeを起動する際に使用できる主要なCLIフラグを以下に示す。
権限モード
claude --permission-mode <モード>
モードの種類:
- ask (デフォルト)
- 各操作前にユーザに確認を求める
- plan
- 読み取り専用モード (プランモード)
- allow
- 全ての操作を自動承認
モデル選択
claude --model <モデル名>
# Claude Opus 4.5 claude --model claude-opus-4-5-20251101 # Claude Sonnet 4.5 claude --model claude-sonnet-4-5-20250929
モデルエイリアスを使用すると、正確なバージョン番号を覚えずにモデルを指定することができる。
| エイリアス | マッピング先 | 説明 |
|---|---|---|
default |
アカウント種別に依存 | 推奨モデル設定 Maxユーザの場合、Opusの使用量閾値に達すると自動的にSonnetにフォールバック |
sonnet |
最新のSonnet (現在 Sonnet 4.5) | 日常的なコーディングタスク向け |
opus |
最新のOpus (現在 Opus 4.6) | 複雑な推論タスク向け |
haiku |
最新のHaiku | 高速・軽量な単純タスク向け |
sonnet[1m] |
Sonnet + 100万トークンコンテキスト | 長時間セッション向け |
opusplan |
Plan時 : opus 実行時 : sonnet |
プランニングにOpusの推論力、実行にSonnetの効率性を活用するハイブリッドモード |
| モデル名 | Claude API ID | Claude API エイリアス | コンテキストウィンドウ | 最大出力トークン | 価格 (入力 / 出力) [per MTok] |
|---|---|---|---|---|---|
| Claude Opus 4.6 | claude-opus-4-6 |
claude-opus-4-6 |
200K / 1M (beta) | 64K | $5 / $25 |
| Claude Opus 4.5 | claude-opus-4-5-20251101 |
claude-opus-4-5 |
200K | 64K | $5 / $25 |
| Claude Sonnet 4.5 | claude-sonnet-4-5-20250929 |
claude-sonnet-4-5 |
200K / 1M (beta) | 64K | $3 / $15 |
| Claude Haiku 4.5 | claude-haiku-4-5-20251001 |
claude-haiku-4-5 |
200K | 64K | $1 / $5 |
下表に、モデルの設定方法を示す。
優先度順で、上位が優先される。
| 優先度 | 方法 | 設定例 |
|---|---|---|
| 1 | セッション中に切替 | /model sonnet
|
| 2 | 起動時に指定 | claude --model opus
|
| 3 | 環境変数 | ANTHROPIC_MODEL=opus
|
| 4 | 設定ファイル | settings.json の "model" フィールド
|
下表に、エイリアスを上書きできる環境変数を示す。
| 環境変数 | 説明 |
|---|---|
ANTHROPIC_DEFAULT_OPUS_MODEL |
opus エイリアス および opusplan のPlanモード時に使用するモデル
|
ANTHROPIC_DEFAULT_SONNET_MODEL |
sonnet エイリアス および opusplan のPlanモード非アクティブ時に使用するモデル
|
ANTHROPIC_DEFAULT_HAIKU_MODEL |
haiku エイリアス および バックグラウンド機能に使用するモデル
|
CLAUDE_CODE_SUBAGENT_MODEL |
サブエージェントに使用するモデル |
Effortレベルの設定方法を以下に示す。
/modelコマンドで左右矢印キーによるスライダー調整- 環境変数
CLAUDE_CODE_EFFORT_LEVEL=low|medium|high
- 設定ファイル
"effortLevel"フィールド
| レベル | 説明 |
|---|---|
low |
高速・低コスト 単純なタスク向け |
medium |
バランス型 一般的な用途向け |
high (デフォルト) |
最大限の推論深度 複雑な問題向け |
出力形式
非対話的な出力を行う。(これは、パイプやスクリプトでの使用に適している)
claude --print
ヘッドレスモード
対話なしで実行する。(これは、自動化に適している)
claude --headless --prompt "プロンプト内容"
セッション再開
claude --continue
claude --resume <セッション名>
その他の有用なフラグ
claude --help
全てのCLIフラグの一覧を表示する。
claude --version
Claude Codeのバージョンを表示する。
推奨される方法
Claude Codeの主要機能を効果的に組み合わせて使用するために推奨される方法を以下に示す。
セッション管理の戦略
複数のセッションを効果的に管理する方法を示す。
セッション分割の基準
- タスクの性質で分ける
- 機能開発、バグ修正、リファクタリング等
- 優先度で分ける
- 緊急タスク、通常タスク、実験的タスク
- プロジェクトで分ける
- プロジェクトAのセッション、プロジェクトBのセッション
セッション名の命名規則
- プロジェクト名-タスク名の形式
- 例: myapp-user-authentication
- 日付を含める (長期プロジェクト)
- 例: api-redesign-2025-01
- 優先度を含める
- 例: urgent-login-bug-fix
巻き戻しとGitの併用
巻き戻し機能とGitを併用する戦略を示す。
巻き戻しとGitの使い分け
- 細かい試行錯誤: 巻き戻し機能
- 複数のアプローチを試す際は巻き戻し機能を使用
- 安定したポイント: Gitコミット
- 良い状態になったらGitにコミット
- 大きな変更の前: Gitブランチ
- 大きな変更を行う前にブランチを作成
ワークフロー例
- 新機能の開発を開始
- 巻き戻し機能を使って複数のアプローチを試す
- 良いアプローチが見つかったらGitコミット
- さらに開発を進める
- 完成したら最終的なGitコミットとプッシュ
プランモードとの統合
主要機能をプランモードと組み合わせる方法を示す。
- プランモードでの計画立案 -> 通常モードでの実装
- プランモード ([Shift] + [Tab] キー) で計画を立てる
- セッションに名前を付けて保存
- 通常モードに切り替えて実装
- 必要に応じて巻き戻しながら実装
- 完成したらGitコミット
- セッションを終了または保存
参考リンク