Claude Code: インタラクティブモードと操作ガイド
最終更新:2026-08-31
Claude Code は複数のインタラクションモードを提供し、ターミナルでの会話からパイプライン自動化まで、それぞれ異なるシナリオに適しています。
💡 ヒント: インタラクティブモードは Claude Code との会話用、パイプラインモードはスクリプトからの Claude Code 呼び出し用、ヘッドレスモードは UI なしの自動化用です。
📋 前提条件: 第6章 - プロジェクト初期化と構造
1. 学ぶ内容
- 3つのインタラクションモードとユースケース
- インタラクティブセッションの操作のコツ
- パイプラインモードの入出力
- ヘッドレスモードの自動化シナリオ
- 中断、再開、マルチセッション管理
2. 3つのインタラクションモード
(1) モード概要
| モード | 起動方法 | ユースケース | 人間のインタラクション |
|---|---|---|---|
| インタラクティブ | claude |
日常開発、探索的コーディング | フルインタラクション |
| パイプライン | echo "..." | claude |
素早い一回限りのタスク | セミインタラクティブ |
| ヘッドレス | claude --headless |
CI/CD、自動化スクリプト | インタラクションなし |
(2) モード選択の判断
graph TD
A[Claude Code が必要] --> B{インタラクションが必要?}
B -->|はい| C{単一かマルチターンか?}
B -->|いいえ| D[ヘッドレスモード]
C -->|マルチターン| E[インタラクティブ]
C -->|単一| F[パイプラインモード]
D --> D1[CI/CD]
D --> D2[バッチスクリプト]
E --> E1[日常開発]
E --> E2[複雑なリファクタリング]
F --> F1[素早いクエリ]
F --> F2[単一ファイル修正]
3. インタラクティブモード
(1) 起動と操作
BASH
# 標準起動
claude
# 初期指示付きで起動
claude "Analyze project structure"
# 最後のセッションを再開
claude --resume
# モデルを指定
claude --model claude-opus-4-20250514
(2) セッション内の操作制御
| 操作 | キー/コマンド | 説明 |
|---|---|---|
| 指示を送信 | Enter | 現在の入力を送信 |
| 改行 | Shift+Enter | マルチライン入力 |
| 中断 | Ctrl+C | 現在の操作を停止 |
| 終了 | Ctrl+D または /exit |
Claude Code を終了 |
| コンテキストをクリア | /clear |
会話履歴をクリア |
| ヘルプを表示 | /help |
利用可能なコマンドを表示 |
▶ 例1:インタラクティブセッションのフロー
TEXT
📖 参照専用
$ claude
> Show me the utility functions under src/utils/
Claude: src/utils/ を読み取り中...
- date.ts formatDate(), relativeTime()
- string.ts capitalize(), truncate()
- validation.ts isValidEmail(), isValidPhone()
> Add a slugify function to string.ts
Claude: src/utils/string.ts に slugify() を追加中...
→ src/utils/string.ts を読み取り中
→ slugify 関数とテストを追加
→ 実行中: npm test -- string.test.ts
✅ すべてのテストが合格
> Also add a camelToSnake conversion function
Claude: src/utils/string.ts に camelToSnake() を追加中...
→ src/utils/string.ts を読み取り中
→ camelToSnake とテストを追加
→ 実行中: npm test -- string.test.ts
✅ すべてのテストが合格
4. パイプラインモード
(1) 基本的な使用方法
BASH
# stdin から指示を渡す
echo "Explain this function's purpose" | claude
# ファイル内容を Claude Code に渡す
cat src/auth.ts | claude "Review this code's security"
# 組み合わせて使用
git diff | claude "Review these changes, identify potential issues"
(2) 出力制御
BASH
# プレーンテキスト出力(インタラクティブ確認なし)
claude -p "List all TODO comments" --output text
# JSON 形式出力
claude -p "Analyze project dependencies" --output json
# Quiet モード(結果のみ出力)
echo "Run tests" | claude --quiet
▶ 例2:パイプラインモードの実践的応用
BASH
# コードレビュー自動化
git diff main..feature | claude "Review changes:
1. Security vulnerabilities
2. Code style compliance
3. Missing tests"
# バッチドキュメント生成
for file in src/*.ts; do
echo "Generate JSDoc comments for $file" | claude --quiet >> docs/api.md
done
# 素早いクエリ
echo "What outdated dependencies are in package.json?" | claude
5. ヘッドレスモード
(1) 起動方法
BASH
# UI なし(操作を自動承認)
claude --headless "Run full tests and fix all failing cases"
# 出力形式を指定
claude --headless --output json "Analyze code quality"
# CI/CD と組み合わせて
claude --headless --allow-full-auto "Code review and auto-fix lint issues"
(2) セキュリティ考慮事項
| パラメータ | リスクレベル | 説明 |
|---|---|---|
--headless |
中程度 | 自動実行だが事前承認済みの権限が必要 |
--allow-full-auto |
高い | 完全自動、すべての操作が確認なし |
--allowed-tools |
低い | 指定されたツールのみ許可 |
▶ 例3:CI/CD でのヘッドレスモード
YAML
# GitHub Actions 設定
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 AI Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude --headless --output json \
"Review this PR's changes, check:
1. Security vulnerabilities
2. Performance issues
3. Code style
Output JSON format report"
6. マルチセッション管理
(1) セッションの再開
BASH
# 過去のセッション一覧
claude --list-sessions
# 特定のセッションを再開
claude --resume <session-id>
# 直近のセッションを再開
claude --resume
(2) セッション間の切り替え
TEXT
📖 参照専用
# Alice が複数のタスクを同時に処理
# タスク1:フロントエンドリファクタリング
cd frontend && claude
> Refactor component structure...
# Ctrl+D で終了
# タスク2:バックエンド API
cd backend && claude
> Add new endpoint...
# タスク1を再開
cd frontend && claude --resume
7. 総合例:マルチモードコラボレーション
BASH
# Alice の日常開発ワークフロー
# 午前:インタラクティブモードで探索
claude "Check yesterday's TODOs, help me handle each one"
# 昼:パイプラインモードで素早い修正
git diff | claude "Fix these lint errors" | git apply
# 午後:インタラクティブモードで深い開発
claude "Implement RBAC model for user permission system"
# 夜:ヘッドレスモードでフルチェック
claude --headless --allowed-tools Read,Write,Bash \
"Run full tests, fix all failing cases, don't modify test assertions"
# CI:ヘッドレスモードで自動レビュー
claude --headless --output json "Code review"
❓ よくある質問
Q インタラクティブモードとパイプラインモードを切り替えられますか?
A いいえ。モードは起動時に選択され、実行中は切り替えられません。別のモードを使うには終了して再起動してください。
Q ヘッドレスモードは安全ですか?
A
--headless は UI を削除するだけで、操作には依然として権限制御が必要です。しかし --allow-full-auto はすべての操作を自動承認するため、リスクが高く、CI 環境でのみ推奨します。Q Claude Code の実行を中断するには?
A Ctrl+C を押すと現在の操作を中断します。既存の修正は失われません。Ctrl+D はセッション全体を終了します。
Q セッション履歴はどのくらい保持されますか?
A セッション履歴はローカルに保存され、デフォルトで過去30日間を保持します。
--list-sessions で確認できます。Q パイプラインモードはマルチターン会話をサポートしていますか?
A いいえ。パイプラインモードは単一の入出力です。マルチターンにはインタラクティブモードを使用してください。
Q スクリプトで Claude Code が正常に実行されたかどうかを確認するには?
A 終了コードを確認してください:0=成功、1=失敗、2=中断。
📖 まとめ
- 3つのモード:インタラクティブ(日常)、パイプライン(素早い一回限り)、ヘッドレス(自動化)
- インタラクティブモードはマルチターン会話をサポート、Ctrl+C で中断、Ctrl+D で終了
- パイプラインモードは単一タスクに適し、git diff 等のコマンドと組み合わせ可能
- ヘッドレスモードは CI/CD 向け。
--allow-full-autoには注意が必要 - セッションは再開可能で、マルチタスクの並行処理をサポート
📝 練習問題
- 基本 (⭐): インタラクティブモードとパイプラインモードの両方で同じタスクを完了し、操作の違いを比較してください。
- 応用 (⭐⭐):
git diff | claude "code review"で自動化コードレビューフローを実装してください。 - 高度 (⭐⭐⭐): GitHub Actions ワークフローを設定し、PR で自動的に Claude Code コードレビューを実行させてください。