【Claude Code】並列作業の承認アラート待ち時間をゼロにする完全ガイド
並列作業中の「待ち時間」が開発効率を下げている!!
Claude Code を使って複数のタスクを並列で走らせていると、避けられない問題に直面します。それが承認アラートによる待ち時間です。
エージェントが途中で止まり、ターミナルに確認プロンプトが表示される。その瞬間、あなたが席を外していたり、別の作業に集中していたりすると、処理全体がストップしてしまいます。
本記事では、Claude Code の承認アラートの仕組みを解説し、並列作業中の待ち時間を実質ゼロにするための設定・運用テクニックを体系的に紹介します。
テックジム東京本校では、情報科目の受験対策指導やAI駆動開発コースもご用意しております。
目次
承認アラートとは
Claude Code には、エージェントが潜在的に危険な操作を実行する前にユーザーへ確認を求める安全機構が組み込まれています。
具体的に承認が求められる主な操作は以下のとおりです。
| カテゴリ | 代表的な操作例 |
|---|---|
| ファイルシステム | ファイルの削除・上書き・移動 |
| シェルコマンド | rm、mv、chmod など破壊的コマンド |
| ネットワーク | 外部APIへのリクエスト送信 |
| プロセス | バックグラウンドプロセスの起動・終了 |
| Git操作 | push、reset --hard、ブランチ削除 |
この承認ステップはセキュリティ上非常に重要ですが、適切に設定しないと並列作業の大きなボトルネックになります。
並列作業で待ち時間が発生するメカニズム
問題の本質:ブロッキング型の承認フロー
Claude Code はデフォルトで同期的な承認フローを採用しています。つまり、エージェントが承認待ちになると、その処理スレッド全体がブロックされます。
[エージェントA] タスク実行中 ──→ 承認待ち ⏸ ← ここで止まる
[エージェントB] タスク実行中 ──→ 承認待ち ⏸ ← ここでも止まる
[エージェントC] タスク実行中 ──→ 完了 ✅
結果:A・Bが止まったまま、全体の進捗が遅延
並列数が増えるほど被害が大きくなる
5つのエージェントを並列実行していて、それぞれが1回ずつ承認待ちになると、あなたが確認できるまでの間、最大5つのプロセスが同時停止します。1プロセスあたり10分待てば、累計で50分のロスです。
待ち時間をゼロにする5つのアプローチ
アプローチ1:--dangerously-skip-permissions フラグの活用
最もシンプルな方法は、起動時に承認をスキップするフラグを使うことです。
claude --dangerously-skip-permissions
⚠️ 注意:このフラグはすべての承認をバイパスします。信頼できる環境・コードベースでのみ使用してください。本番環境や機密データを含むリポジトリでの使用は推奨しません。
推奨ユースケース:
- 使い捨てのサンドボックス環境
- CI/CDパイプライン内の自動化処理
- コンテナ内の隔離された開発環境
アプローチ2:settings.json で許可リストを細かく設定する
リスクを最小化しながら待ち時間を減らすには、許可する操作を明示的にリストアップする方法が最適です。
// ~/.claude/settings.json
{
"permissions": {
"allow": [
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(npm run:*)",
"Bash(python:*)",
"Write(**/*.ts)",
"Write(**/*.py)",
"Write(**/*.md)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(git push:*)",
"Write(**/secrets/*)"
]
}
}
このホワイトリスト方式により、安全な操作は自動で通過させ、危険な操作だけ確認を求める設計が実現します。
アプローチ3:プロジェクト単位の CLAUDE.md で事前指示を与える
CLAUDE.md にエージェントへの事前指示を記述することで、承認が必要な操作自体を減らせます。
# CLAUDE.md
## 操作ルール
- ファイルの削除は行わないこと。不要ファイルは `_archive/` に移動すること。
- `git push` は実行しないこと。コミットまでで停止すること。
- 外部APIは `api-mock/` のモックサーバーを使用すること。
- スクリプト実行前に必ず `--dry-run` オプションで確認すること。
エージェントが承認不要な範囲で完結するようタスク設計の段階から制約を組み込むのが、最も根本的な解決策です。
アプローチ4:tmux + スクリプトで承認を自動応答する
定型的な承認パターンが分かっている場合は、expect スクリプトや tmux を使って自動応答を仕込む方法もあります。
#!/bin/bash
# auto_approve.sh:特定パターンの承認を自動化する例
expect << 'EOF'
spawn claude --model claude-sonnet-4-20250514
expect "Do you want to proceed?"
send "y\r"
expect eof
EOF
tmux で複数ペインを管理しながら並列実行する構成例:
# 3並列でClaudeエージェントを起動
tmux new-session -d -s claude_parallel
tmux split-window -h
tmux split-window -v
tmux send-keys -t claude_parallel:0.0 'claude --dangerously-skip-permissions "タスクA"' Enter
tmux send-keys -t claude_parallel:0.1 'claude --dangerously-skip-permissions "タスクB"' Enter
tmux send-keys -t claude_parallel:0.2 'claude --dangerously-skip-permissions "タスクC"' Enter
アプローチ5:GitHub Actions / CI 環境での完全自動化
本番ワークフローに組み込むなら、CI環境で Claude Code を実行し、承認プロセスを人手から切り離す設計が理想です。
# .github/workflows/claude-parallel.yml
name: Claude Code Parallel Tasks
on:
workflow_dispatch:
inputs:
task_list:
description: '実行するタスクのJSON配列'
required: true
jobs:
run-claude:
runs-on: ubuntu-latest
strategy:
matrix:
task: ${{ fromJson(github.event.inputs.task_list) }}
steps:
- uses: actions/checkout@v4
- name: Run Claude Code Task
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude --dangerously-skip-permissions "${{ matrix.task }}"
matrix を使うことで、タスクリストを並列ジョブとして自動展開できます。
設定ファイルで承認動作をカスタマイズする
設定ファイルの優先順位
Claude Code の設定は以下の優先順位で適用されます。
1. コマンドライン引数(最優先)
2. プロジェクトの .claude/settings.local.json
3. プロジェクトの .claude/settings.json
4. グローバルの ~/.claude/settings.json(最低優先度)
推奨グローバル設定テンプレート
{
"permissions": {
"allow": [
"Bash(git diff:*)",
"Bash(git status:*)",
"Bash(git log:*)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(npm install:*)",
"Bash(npm run build:*)",
"Bash(npm run test:*)",
"Bash(pip install:*)",
"Bash(python -m pytest:*)",
"Read(**/*)",
"Write(**/*.ts)",
"Write(**/*.tsx)",
"Write(**/*.js)",
"Write(**/*.py)",
"Write(**/*.json)",
"Write(**/*.md)"
],
"deny": [
"Bash(rm:*)",
"Bash(git push:*)",
"Bash(git reset --hard:*)",
"Bash(sudo:*)",
"Write(**/.env*)",
"Write(**/secrets/**)"
]
}
}
並列ワークフローの設計パターン
パターン1:タスク分割による独立並列実行
依存関係のないタスクに分割して、完全に独立して並列実行させます。
[フロントエンド修正] ──→ 並列 ──→ [バックエンドAPI実装]
[テスト作成] ──→ 並列 ──→ [ドキュメント更新]
[型定義追加] ──→ 並列 ──→ [Lintルール修正]
パターン2:フェーズ制御による段階的承認
「読み取り・分析フェーズ」と「書き込み・実行フェーズ」に分け、フェーズの境界でのみ承認を取る設計です。
# フェーズ1:分析(承認不要)
claude "コードベースを分析して改善点をリストアップしてください。変更は加えないこと。"
# → 結果を確認してから
# フェーズ2:実装(必要な承認のみ許可)
claude --allowedTools "Write,Read,Bash(npm run:*)" "分析結果に基づいて実装してください"
パターン3:ウォッチドッグパターン
監視スクリプトが承認待ち状態を検知して通知する仕組みを構築します。
# watchdog.py
import subprocess
import time
import re
def monitor_claude_processes():
"""承認待ちを検知してSlack/メールで通知"""
while True:
result = subprocess.run(['ps', 'aux'], capture_output=True, text=True)
# 承認待ちプロセスを検知するロジック
if 'waiting for approval' in result.stdout:
send_notification("Claude Code が承認待ちです!")
time.sleep(30)
トラブルシューティング
Q1:許可リストに追加したのに承認が求められる
原因:コマンドの引数パターンが許可リストと一致していない可能性があります。
# デバッグ:実際に実行されているコマンドを確認
claude --verbose "タスクを実行してください"
ログを確認し、実際のコマンド文字列と settings.json のパターンを照合してください。
Q2:並列実行中に片方のエージェントだけが止まる
原因:ファイルの競合ロックが発生している可能性があります。
対策:作業ディレクトリを分離する。
# 各エージェントに独立した作業ディレクトリを割り当てる
mkdir -p workspaces/{agent1,agent2,agent3}
cp -r src workspaces/agent1/
cp -r src workspaces/agent2/
cp -r src workspaces/agent3/
Q3:--dangerously-skip-permissions でも一部の承認が求められる
原因:一部の操作(特にネットワーク関連)は、フラグに関係なく確認が必要な場合があります。
対策:CLAUDE.md でその操作を明示的に禁止し、エージェントが実行しないよう誘導してください。
まとめ
Claude Code の並列作業における承認アラート待ち時間をゼロにするためのポイントを整理します。
| アプローチ | 効果 | リスク | 推奨シーン |
|---|---|---|---|
--dangerously-skip-permissions |
★★★ 最大 | ★★★ 高 | 隔離された開発環境 |
| 許可リスト設定 | ★★☆ 中〜高 | ★☆☆ 低 | 日常的な開発作業 |
CLAUDE.md 事前指示 |
★★☆ 中 | ★☆☆ 低 | プロジェクト全体に適用 |
| 自動応答スクリプト | ★★☆ 中 | ★★☆ 中 | 定型パターンの自動化 |
| CI/CD統合 | ★★★ 最大 | ★☆☆ 低(設計次第) | 本番ワークフロー |
最も現実的な運用は、許可リスト設定 + CLAUDE.md 事前指示 の組み合わせです。安全性を保ちながら、日常的な並列作業の待ち時間を大幅に削減できます。
承認フローを完全に排除するのではなく、本当に必要な場面でだけ承認を求める設計が、長期的に安全で効率的な Claude Code 活用につながります。
関連キーワード
Claude Code 使い方 / Claude Code 並列実行 / Claude Code 自動化 / AI エージェント 承認 / Claude Code settings.json / Claude Code CLAUDE.md / --dangerously-skip-permissions / Claude Code CI/CD / AI コーディング 効率化
本記事の内容は Claude Code の仕様変更により変わる場合があります。最新情報は Claude Code 公式ドキュメント をご確認ください。
■ゼロから始めるClaudeCode講座のご案内
テックジム東京本校では「ClaudeCode」の体験講座を開催。
「その日のうちに動かす」 をゴールに、環境構築から実践まで。
毎週土曜日15時。参加は無料です。対面・ハンズオンだから初心者でも安心。
■らくらくPython塾 – 読むだけでマスター
共通テスト「情報I」対策解説講座
実践で学ぶPython速習講座
■テックジム東京本校
格安のプログラミングスクールといえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
対面型でより早くスキル獲得、月額2万円のプログラミングスクールです。
情報科目の受験対策指導やAI駆動開発コースもご用意しております。
