Claude Code のタスクが停止したとき:リトライを止めて状態を復旧する判断
停止した Claude Code タスクを復旧する実践手順。障害を分類し、ループを中断し、状態を記録して、範囲を絞った検証から再開します。
回数を決めない再試行は、Claude Code の利用時にトークンの無駄遣い、コンテキストの劣化、壊れたコード変更を招く大きな原因です。同じテストに繰り返し失敗したり、環境変数が不足したり、同じファイルを循環して編集したりしている場合、新しい外部シグナルなしで再試行しても原因は解決しません。セッションを行き止まりへ深く押し込むだけです。
適切な方針は、早い段階でループを止め、API とコードベースの両面から障害を分類し、実際のリポジトリ状態を記録したうえで、決定的な検証手順からタスクを再開することです。
1. 障害を分類する:リトライが役に立たないとき
すべてのエラーがコマンドの再実行で解消するわけではありません。明確な診断がないと、一時的な API の制限とエージェントの論理ループを取り違えやすくなります。
原因を推測してトークンを使い続けないために、外部 API の問題とコードの不具合を分けて扱います。BetterToken の Claude Code ワークフローでは、Dashboard で HTTP ステータス、モデル、応答時間、入力・出力・キャッシュトークンの正確な消費量を確認できます。ゲートウェイタイムアウトや 429 なら、回数を制限した再試行には根拠があります。一方、API が継続して 200 OK を返し、エージェントだけが循環編集しているなら、直ちにセッションを終了してください。
2. 優先順位を付けた復旧プロトコル
エージェントが 2〜3 回連続で成果のない試行を行ったら、次の順序で進めます。
```mermaid
graph TD
A[エージェントがエラーループに入る] --> B[手順 1: Ctrl+C ですぐ停止]
B --> C[手順 2: Git の状態と diff を監査]
C --> D[手順 3: Recovery Card を保存]
D --> E[手順 4: 検証付きのクリーンなセッションを開始]
```
手順:
- 手順 1:セッションを終了する。 `Ctrl+C` で実行を中断します。長い言い訳や不要な出力の生成に、これ以上コンテキストを消費させないでください。
- 手順 2:状態を確認して整理する。 `git status --short` で変更ファイルを確認します。エージェントが壊れたコードを作った場合は、影響したファイルだけを戻します:`git checkout -- <file>`。
- 手順 3:根本原因を分類する。 Dashboard の API 指標とエージェントの実行ログを比較し、ネットワーク障害とエージェントの論理エラーを切り分けます。
- 手順 4:構造化した Recovery Card を保存する。
3. 構造化された Recovery Card
新しい復旧セッションを開始する前に、タスクの正確な状態を記録します。
```markdown
Recovery Card: インポートサービスの障害
- 元の目標: `auth/service.ts` にメールアドレス検証を追加する。
- 実際の進捗: 正規表現は追加したが、ユニットテスト `auth_test.go` が失敗した。
- 根本原因: エージェントが公開インターフェースではなく private メソッドをモックしようとした。
- Git の状態: ブランチは `fix/auth-email`、`auth/service.ts` の有効な diff は保持する。
- クリーンなセッションでの次の作業: 公開インターフェース `AuthClient` を使ってユニットテストをリファクタリングする。
```
[!IMPORTANT]
シークレットを残さない: Recovery Card に API キー、アクセストークン、未加工のメモリダンプを記載してはいけません。エンドポイントの設定とキー管理は、BetterToken の Claude Code ドキュメントで確認してください。
4. 可逆的な復旧と検証
安全に実行を再開するには、次のようにします。
- クリーンなコンテキストウィンドウで、新しい Claude Code セッションを開始します。
- エージェントにはタスクの目標と Recovery Card の「次の作業」だけを渡します。
- 対象を絞ったチェックを要求します:`npm test -- tests/auth.test.ts`。
- 対象テストが通ること(`Passed`)を確認してから、最終 diff を `git diff --check` で確認します。
このプロトコルにより、制御不能なエージェントループを管理可能なチェックポイントへ変え、コードベースとトークン予算を守れます。
支払いと残高のチャージ
API 利用の支払いとチャージは、自分の BetterToken アカウントで管理します。BetterToken は従量課金のモデル API アクセスサービスであり、支払い済みでチャージした残高は毎月自動的には失効しません。利用可能な支払い方法、最低金額、手数料、為替レート、処理時間は変わることがあるため、支払い時点のアカウント表示を確認してください。
料金とコスト管理
モデルの提供状況と個別の料金は動的な情報です。コストを判断する前に、古い記事の数値を使い回さず、BetterToken の料金ページで確認してください。テスト呼び出しの後は、Dashboard でモデル、ステータス、入力・出力・キャッシュトークンと対応する消費量を照合できます。