AI時短ラボ
検索
活用

Claude Codeの/goalコマンド「続けて」を打ち続ける代わりに完了条件を渡す

執筆:約10分で読めます

日刊AIニュース10月19日(月)号:前日のAIのニュース3本を短くまとめました(約5分)›

Claude Code公式ドキュメントによると/goalは完了条件を1つ設定すると、ターンが終わるたびに別モデル(既定Haiku)が条件を判定し、満たされるまで自動で次のターンを続ける機能。認証エラーなど4種類の「回復不能なエラー」でだけゴールが自動解除される仕組みや、バックグラウンド作業中は判定を後回しにする挙動を公式ドキュメント原文で確認した。

Claude Codeの/goalコマンド──「続けて」を打ち続ける代わりに完了条件を渡す
目次

Claude Codeを長時間の作業に投げるとき、1ターンごとに「続けて」と打ち込むのが面倒だという人は多いはずだ。/goalコマンドは、その手間を「完了条件を1回書く」だけに置き換える機能として公式ドキュメントに用意されている。この記事は公式ページの記述だけを根拠に、動作の仕組みと、似た機能である/loop・Stop hook・auto modeとの違いを整理する。

  • /goalは完了条件を1回書くだけで、ターンが終わるたびに別モデル(既定Haiku)が「会話に出てきた内容だけ」を見て判定を続ける機能。評価モデル自身はコマンド実行やファイル読み込みをしない
  • ゴールが自動解除されるのは、認証エラー・クレジット枯渇・コンテキストオーバーフロー・利用不可モデルの4種類の回復不能エラーのときだけ。加えて、評価モデルへの応答だけが続き実際の作業(ツール使用)が進まない状態が数ターン続くと、Claude Codeがループを強制停止し警告を出す安全弁もある
  • 評価に使うモデルは環境変数ANTHROPIC_DEFAULT_HAIKU_MODELで変更できる。ただしこの変数は/goal専用ではなく、haikuエイリアス全体や会話の要約などバックグラウンド機能すべてに影響する共通設定だ

/goalが実際にやっていること

公式ドキュメントの説明はシンプルだ。/goalに続けて完了条件を書くと、その条件そのものが最初のターンの指示になる。

/goal all tests in test/auth pass and the lint step is clean

1ターンが終わるごとに、設定した小型高速モデル(既定はClaude API利用時でHaiku)が「会話の中でClaudeが提示した内容」だけを見て、条件が満たされたかを判定する。判定結果は3種類ある。

  • Not yet met(未達成):Claudeは判定理由をヒントに次のターンを続ける
  • Met(達成):ゴールを自動解除し、達成ログを会話に記録
  • Impossible(達成不可能と判定):ゴールを自動解除し、理由とともに失敗ログを記録

評価モデルはコマンドを実行したり、ファイルを読みに行ったりはしない。あくまで「Claudeがすでに会話に出した内容」だけで判定するため、公式ドキュメントは「npm testが0で終了する」のように、Claude自身の出力で証明できる条件を書くよう推奨している。条件は最大4,000文字まで。

似た機能との違い

Claude Code公式ドキュメントは、セッションを継続させる3つの方法を並べて比較している。

方式 次のターンが始まる条件 止まる条件
/goal 前のターンが終わる、またはアイドル時のチェックイン モデルが達成/不可能と判定、回復不能エラー、/goal clear
/loop 一定の時間間隔が経過 手動停止、またはClaudeが完了と判断
Stop hook 前のターンが終わる 自前のスクリプト/プロンプトが判断

さらにauto modeとの違いも明記されている。auto modeは1ターン内のツール呼び出しを自動承認するだけで、次のターンを自動で始めるわけではない。/goalは「ターンをまたいで評価するレイヤー」を追加するもので、両者は補完関係にある——auto modeがツールごとの確認を消し、/goalがターンごとの確認を消す、という役割分担だ。

4種類の「回復不能なエラー」でゴールが解除される

エラーで止まった場合の挙動は2パターンに分かれる。次の4種類のエラーだけがゴールを自動解除する。

  1. 認証エラー(Claude Code自身が認証情報を管理している場合。デスクトップアプリやクラウドセッションなどホスト側が管理する場合はゴールを解除しない)
  2. クレジット残高の枯渇
  3. auto-compactionで解消できないコンテキストオーバーフロー
  4. 利用できないモデル

これら以外のエラー(レート制限やサーバー過負荷などの一時的なエラーを含む)ではゴールは解除されず、そのまま維持される。解除されたときは「Goal cleared after an unrecoverable error」で始まる警告が表示され、原因を直してから/goalで条件を再設定する必要がある。

「空回り」を検知する、もう1つの安全弁

回復不能エラーとは別に、公式ドキュメントはもう1つの停止条件を明記している。Claudeがツールを使わずに評価モデルへの応答だけを続け、何ターンも実質的な進捗がない状態が続くと、Claude Codeはそのループを強制的に停止し、警告を出して操作をユーザーに戻す。このときゴール自体は解除されず設定されたまま残り、次にユーザーがプロンプトを送ると評価が再開される。公式ドキュメントはこの挙動の内部的な仕組みを、Stop hookの「ブロック上限」機構の一部として説明している。

評価モデルはHaiku固定ではない

本文では「既定はHaiku」と書いたが、公式ドキュメント「Model configuration」を確認すると、評価に使うモデルは環境変数ANTHROPIC_DEFAULT_HAIKU_MODELで変更できる。ただし、この変数は/goalの評価専用に用意されたものではない。公式ドキュメントは「Claude Codeはhaikuという小型高速モデルを使うすべての場面でこの変数を参照する。この変数を設定すると、haikuエイリアスの解決先も、会話の要約などのバックグラウンド機能も、まとめてそのモデルに切り替わる」と明記している。つまり/goalの評価モデルだけを個別に変えることはできず、Claude Code全体の「小型高速モデル」の設定を変えることになる。評価モデル自体は、セッションが使っているプロバイダ(Claude API・Bedrock・Vertexなど)上で動く、とも明記されている。

バックグラウンド作業中は判定を後回しにする

サブエージェントやバックグラウンドのシェルコマンドがまだ動いている状態でターンが終わった場合、Claude Codeはその回の判定をスキップし、バックグラウンド作業がすべて終わった次のターンで評価する。

バックグラウンド作業がゴールを30分待たせると「チェックイン」が発生し、Claude Codeは実行中のタスクを一覧にして、進捗していれば待機継続、詰まっていれば修正か停止を判断させる。2回目以降のチェックイン間隔は毎回2倍になり(既定30分→1時間→2時間…)、最大で初回間隔の4倍まで伸びる。対話セッションでは、あなたの次のプロンプトを待たずにClaude Code自身がアイドル中にターンを開始してチェックインを届けることもあるが、この「アイドル中チェックイン」は1つのゴールにつき最大3回までという上限がある(3回目のチェックインで「次のプロンプトが来るまでチェックインを一時停止する」旨が案内される)。この間隔は環境変数CLAUDE_CODE_GOAL_CHECKIN_MINUTESで変更でき、0にすると無効化できる。

非対話モードでも使える

claude -pで起動する非対話セッションでも/goalは動く。

claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"

既定のテキスト出力では、ゴールが終わるまで何も表示されないため、ターン数の多いゴールは「固まっているように見える」ことがある。--output-format stream-json --verboseを付けると、各メッセージが逐次出力される。

サードパーティ利用時の既定モデルは確認できていない

限界を先に書く。

評価モデルを他社プロバイダで使う場合の具体的なモデル名。 「セッションが使っているプロバイダ上で動く」「ANTHROPIC_DEFAULT_HAIKU_MODELで変更できる」という仕組みまでは確認できたが、Bedrock・Vertex等それぞれのプロバイダでの具体的なデフォルトのモデルID自体は「プロバイダごとのページを確認」とされており、本記事では個別に確認していない。

実際のトークン消費の目安。 公式ドキュメントは「評価用トークンは小型モデルで課金され、本体ターンの消費と比べて通常は無視できる程度」と書いているが、具体的な数値は示されていない。

バージョンごとの挙動差。 アイドル中チェックインの上限(v2.1.246以降で3回)やレジューム経路の挙動差(v2.1.239前後)など、バージョンによる違いが複数明記されている。手元のClaude Codeのバージョンによっては本記事の記述と異なる場合がある。

関連記事

シェア: ポスト はてブ

出典・参照資料

AI時短ラボ

大きいニュースはYouTubeでも解説しています。Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

関連記事

SendMessage/ListAgentsの中身──Claude Codeのセッション同士は何をどこまで送り合えるかの記事画像

SendMessage/ListAgentsの中身 Claude Codeのセッション同士は何をどこまで送り合えるか

活用
Dynamic Workflowsとは──JavaScriptスクリプトで数百のsubagentをオーケストレーションする仕組みの記事画像

Dynamic Workflowsとは JavaScriptスクリプトで数百のsubagentをオーケストレーションする仕組み

活用
AI-Native SDLCとは──Anthropicが「コードの80%をClaudeが書く」現場から逆算した開発フローの記事画像

AI-Native SDLCとは Anthropicが「コードの80%をClaudeが書く」現場から逆算した開発フロー

活用
Claude Codeのエージェントチームとは──複数セッションが直接会話する実験的機能の記事画像

Claude Codeのエージェントチームとは 複数セッションが直接会話する実験的機能

活用
Agent View入門──複数のClaude Codeセッションを一画面で束ねるの記事画像

Agent View入門 複数のClaude Codeセッションを一画面で束ねる

活用
Claude Codeの定期実行──/loopのEscは「直接頼んだリマインダー」を止めないの記事画像

Claude Codeの定期実行 /loopのEscは「直接頼んだリマインダー」を止めない

活用
Claude Code Remote Controlの切断──要件・プロセス・ネットワーク・認証の4系統で切り分けるの記事画像

Claude Code Remote Controlの切断 要件・プロセス・ネットワーク・認証の4系統で切り分ける

活用
Claude Code(クロードコード)とは──Anthropicのコーディング用AIエージェント、Pro以上の有料プランで使える。使い方・料金・使える場所【2026年10月版】の記事画像動画

Claude Code(クロードコード)とは Anthropicのコーディング用AIエージェント、Pro以上の有料プランで使える。使い方・料金・使える場所【2026年10月版】

活用