Claude Code: インタラクティブモードと操作ガイド

最終更新:2026-08-31

Claude Code は複数のインタラクションモードを提供し、ターミナルでの会話からパイプライン自動化まで、それぞれ異なるシナリオに適しています。

💡 ヒント: インタラクティブモードは Claude Code との会話用、パイプラインモードはスクリプトからの Claude Code 呼び出し用、ヘッドレスモードは UI なしの自動化用です。

📋 前提条件: 第6章 - プロジェクト初期化と構造

1. 学ぶ内容


2. 3つのインタラクションモード

(1) モード概要

モード 起動方法 ユースケース 人間のインタラクション
インタラクティブ claude 日常開発、探索的コーディング フルインタラクション
パイプライン echo "..." | claude 素早い一回限りのタスク セミインタラクティブ
ヘッドレス claude --headless CI/CD、自動化スクリプト インタラクションなし

(2) モード選択の判断

100%
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=中断。

📖 まとめ


📝 練習問題

  1. 基本 (⭐): インタラクティブモードとパイプラインモードの両方で同じタスクを完了し、操作の違いを比較してください。
  2. 応用 (⭐⭐): git diff | claude "code review" で自動化コードレビューフローを実装してください。
  3. 高度 (⭐⭐⭐): GitHub Actions ワークフローを設定し、PR で自動的に Claude Code コードレビューを実行させてください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%