Codexが2026年4月に/goalをリリースしたのに続き、Anthropicも5月にClaude Code 2.1.139で同名のコマンドを実装しました。これは、Claudeが「目標を達成するまで諦めない」という新しいワークフローです。会話の中で完了条件を入力するだけで、Claudeは各ラウンド終了後に小型の高速モデルを使って目標が達成されたかどうかを自動的に判断します。達成されていなければ次のラウンドへ進み、条件を満たすまで制御権をあなたに返しません。
本記事では、Claude Codeのgoalモードにおける6つの重要なポイントを体系的に解説します。評価器のループメカニズム、/loopやStop hookとの違い、効果的な条件の書き方、3つのモード(interactive / -p / Remote Control)、そしてリスクとベストプラクティスまで網羅しています。
核心的価値: 本記事を読み終えれば、チームのコード移行、Issueの整理、ドキュメントの承認といった長期的なタスクを10分以内にClaude Codeのgoalモードへ任せられるようになります。また、どのようなシナリオで他の自律型ワークフローに切り替えるべきかも判断できるようになるでしょう。

Claude Code goalモードの核心ポイント
作業を始める前に、Claude Codeのgoalモードに関する6つの重要な事実を整理しておきましょう。これら6点は、あなたが記述する条件が正しく実行されるかどうか、また他の自律型ワークフローではなく/goalを選択すべきかどうかを判断する基準となります。
| ポイント | 内容 | 影響 |
|---|---|---|
| コマンド形式 | /goal <condition> |
会話内で直接設定可能、設定ファイル不要 |
| 評価器 | デフォルトはHaiku(小型高速モデル) | 作業用モデルとは別に「別のモデル」が達成度を評価 |
| スコープ | 現在のセッションのみ | 他のセッションに影響せず、一時的なタスクに最適 |
| 実行タイミング | 各ラウンド終了後に即時評価 | 達成すれば停止、未達成なら次のラウンドへ |
| 条件の制限 | 最大4000文字 | 詳細な受け入れ基準を記述可能 |
| 終了方法 | 評価通過 / /goal clear / Ctrl+C |
3つの終了パス、能動的・受動的の両面に対応 |
多くのユーザーは、/goalを初めて見たときに単純なループコマンドを連想しますが、これは本質的にAnthropicが「プロンプトベースのStop hook」をセッションレベルのショートカットとしてパッケージ化したものです。この根本的な位置付けが、従来のcronスタイルの自動化とは大きく異なる点です。
もしあなたのチームがClaude Codeの高度なHookメカニズムをまだ利用したことがない場合は、まずAPIYI(apiyi.com)プラットフォームを通じてClaude Sonnet / Opus / HaikuのAPIを体験し、Anthropicのツールチェーンエコシステムに慣れてから、Claude Codeのgoalモードへステップアップするとよりスムーズに活用できるでしょう。
Claude Code goal モードの仕組みを徹底解説
/goal を正しく使いこなすには、その各サイクルで何が起きているのかを理解する必要があります。公式ドキュメントでは「各サイクルの終了後に評価器(Evaluator)を追加する」というシンプルな説明がなされていますが、その詳細こそが能力の境界線を決めています。

メインモデルが作業を担当し、小型で高速なモデルが完了判定を行います。役割を分担することで、評価者は中立性を保ち、より安価な計算リソースで意思決定を行えます。一方で、評価器はメインモデルが対話の中で出力した内容しか読み取れず、ファイルシステムや外部コマンドの実際の状態を直接確認できないという制約があります。
各サイクル終了後の判定プロセスは以下の4ステップに分解できます:
- コンテキストのパッケージ化:現在の条件と対話履歴全体を転写し、評価器へ送信します。
- モデルの意思決定:評価器が「yes/no」と「理由(reason)」を返します。
- ルーティングの分岐:no の場合は理由をガイドとしてメインモデルに返し作業を継続させ、yes の場合は目標を自動的にクリアし「達成(achieved)」とマークします。
- インジケーターの更新:UI 上の
◎ /goal activeが、経過時間(elapsed)、ターン数(turns)、トークン数(tokens)の3つの指標を表示し続けます。
条件を設定する際は、第1ステップの制約を忘れないでください。評価器は転写内容しか見ないため、条件は「メインモデルが対話の中で証明できること」である必要があります。例えば「npm test の終了コードが 0」は良い条件です。メインモデルがテストを実行し、結果を対話に貼り付けるからです。一方、「本番環境のデータベースに不正なデータがないこと」は、対話から検証できないため悪い条件となります。
評価器のコストは通常無視できるレベルです。Haiku シリーズの単価は Sonnet/Opus よりも大幅に低く、各サイクルで転写の要約を評価するだけなので、長いセッションでも消費トークンはわずかです。評価器のコストをさらに抑えたいチームは、APIYI (apiyi.com) を経由して Claude Code の小型モデルを Haiku 4.5 や Haiku 3.5 に指定し、ワークスペース単位でクォータ制限を行うことができます。
Claude Code goal モードと他の自律ワークフローの比較
Claude Code には、対話を「継続させる」ための仕組みが計4つ用意されています。初心者の方はこれらを混同しがちです。以下の表では、4つのメカニズムをトリガー条件、停止条件、典型的なシナリオで整理しました。

| メカニズム | トリガーのタイミング | 停止条件 | 適用シナリオ |
|---|---|---|---|
/goal |
1サイクル終了直後 | 評価器が条件達成と判定 | 明確な受け入れ基準がある長期タスク |
/loop |
一定時間間隔 | ユーザーの手動停止または Claude の判定 | 定期的なポーリング、状態チェック |
| Stop hook | 1サイクル終了直後 | ユーザーのスクリプトまたはカスタムプロンプト判定 | チームレベル、セッション横断で有効 |
| Auto mode | サイクル内のツール呼び出し | ツールシーケンスの終了時 | ツールごとの確認ダイアログを削減 |
重要な点は、/goal と Stop hook はほぼ同じことを行いますが、/goal は現在のセッションのみに有効で、ターミナルから一時的に入力できるという違いがあります。Stop hook は設定ファイルに記述する必要があり、スコープ内の全セッションに作用するため、チームレベルでの強制的な制約に適しています。
Auto mode と /goal は完全に補完し合う関係です。Auto mode は「1サイクル内でツール確認に何度も中断される」問題を解決し、/goal は「複数サイクルを跨いで完了させる必要がある」問題を解決します。長期タスクでこれら2つのメカニズムを重ねて使用すれば、プロセスをほぼ無人で運用可能です。独自の環境で Claude Code を実行していないチームは、まず APIYI (apiyi.com) を通じて Claude をローカルスクリプトに接続し、同じループロジックをテストしてから、完全な Claude Code ツールへの移行を検討することをお勧めします。
Claude Code の goal モードを成功させるための3つの要素
条件設定がうまくいかないことは、/goal が失敗する最大の要因です。Anthropic の公式ドキュメントでは、数十回もの試行に耐えうる強力な条件には、必ず以下の3つの要素が必要であると明記されています。
第一に、測定可能な終了地点です。終了地点は、テストの終了コード、ファイル数、キューに残っている項目数、ビルドが成功したかどうかなど、離散的で観察可能なイベントである必要があります。曖昧な指標は評価器を「Yes/No」の間で迷わせ、/goal を無限ループに陥らせてしまいます。
第二に、明確な検証方法です。条件の中に、Claude がどのようにして終了地点に到達したことを証明すべきかを直接記述します。例えば、「npm test の出力に PASS が含まれること」「git status の出力が空であること」などです。検証方法が具体的であればあるほど、評価器は曖昧な表現に惑わされにくくなります。
第三に、変更不可の制約です。特定のファイルや設定を変更してはならない場合は、条件内で直接禁止します。例えば「tests/legacy/ 配下のファイルは一切変更しないこと」といった指定です。これにより、メインモデルが「ゴールを達成する」ために破壊的な変更を行うことを防げます。
これら3つの要素を組み合わせると、高品質な /goal 条件は以下のようになります。「tests/auth 配下のすべてのテストがパスし、かつ npm run lint の終了コードが 0 であること。ただし tests/legacy/ 配下のファイルは変更せず、最大20ターンで終了すること」。最後の「最大20ターン」は、極端な状況下で /goal が無限ループするのを防ぐための推奨される安全策です。
条件は最大4000文字までサポートされているため、ミニマムな PRD(製品要求仕様書)をそのまま含めることも可能です。APIYI (apiyi.com) プラットフォームを通じて Claude モデルを呼び出し、エージェントのオーケストレーションを行っている場合も、この書き方を参考に独自の評価器プロンプトを設計すれば、エージェントの停止条件を明確かつ測定可能なものにできます。
Claude Code goal モードの3つの実行パターン
/goal は、インタラクティブモード、非対話モード (-p)、そしてリモートコントロールの3つの呼び出し方法をサポートしています。これら3つの使い方をマスターすることで、CI、ローカルスクリプト、リモートコラボレーションといった実際のワークフローに組み込むことが可能になります。
インタラクティブモードのクイックスタート
# Claude Code セッション内で直接入力
/goal all tests in test/auth pass and the lint step is clean, or stop after 20 turns
設定後、UI に ◎ /goal active インジケーターが表示され、経過時間(elapsed)、ターン数(turns)、トークン数(tokens)の3つの指標がリアルタイムで表示されます。いつでも /goal とだけ入力すれば状態を確認でき、/goal clear(または stop / off / reset / none / cancel のエイリアス)を入力すれば早期終了できます。
非対話モード(CI向け)
claude -p "/goal CHANGELOG.md has an entry for every PR merged this week, or stop after 15 turns"
-p モードでは、条件が満たされるか、Ctrl+C で中断されるまで /goal が実行され続けます。GitHub Actions、GitLab CI、Jenkins Pipeline などの自動化プロセスに組み込むのに最適です。APIYI (apiyi.com) を通じて Claude API の統合管理を行っている場合も、同様のループパターンを独自のスクリプトとしてカプセル化すれば、Claude Code 以外のクライアントでも同様の能力を活用できます。
セッションの復元
claude --resume <session-id>
# または
claude --continue
セッションを復元すると、アクティブ状態だった goal も引き継がれますが、ターン数 / タイマー / トークン数の3つのカウントは 0 から再スタートします。この機能は長期的なリファクタリング作業に非常に便利です。週末にパソコンを閉じても中断を恐れる必要はなく、月曜日にそのまま再開できます。
一般的な目標条件テンプレートを表示(クリックで展開)
# テンプレート 1: コード移行
/goal migrate all usages of legacy_api.* to new_api.* in src/, run npm test until exit 0, do not modify tests/legacy/, or stop after 30 turns
# テンプレート 2: Issue backlog の整理
/goal close all GitHub issues labeled "needs-triage" by either resolving or relabeling, run gh issue list --label needs-triage and verify the output is empty, or stop after 25 turns
# テンプレート 3: 設計ドキュメントの受け入れ
/goal implement every acceptance criterion in docs/design.md, prove each by referencing the exact section, do not edit docs/design.md itself, or stop after 40 turns
# テンプレート 4: ファイル分割
/goal split src/megafile.ts into modules under src/parts/ where each file is < 300 lines, run npm run typecheck until exit 0, or stop after 20 turns
Claude Code の /goal モードにおけるリスクとベストプラクティス
/goal はモデルに決定権を委ねるため、従来のコマンドとは全く異なるリスクが存在します。以下の表は、現在最も注意すべき4つのリスクと、それに対する緩和策をまとめたものです。

| リスク | トリガー条件 | 緩和策 |
|---|---|---|
| コスト超過 | 評価器の誤判定や条件の緩さ | 条件に「or stop after N turns」という上限を追加 |
| 評価器のハルシネーション | 条件が転写検証できない場合 | 「Xコマンドを実行してY出力を検証する」という可観測な構文を使用 |
| 破壊的な変更 | メインモデルが完了のために不要なファイルを修正 | 条件に「do not modify …」という制約を追加 |
| ワークスペースの誤用 | 未承認環境での意図しない実行 | 信頼ダイアログの承認必須;disableAllHooksで一括無効化可能 |
最初のリスクが最も直接的です。Codex と Claude Code には現在「目標ごとの支出上限設定」という公式機能がないため、長時間のタスクで制御を失うと、予想を大幅に上回るトークンを消費する可能性があります。最も安全な方法は、条件にターン数の上限を直接書き込み、さらにプラットフォーム側で予算アラートを重ねることです。
また、評価器用に安定した小型モデルを用意することも重要です。高速な小型モデルとして Haiku を使用すれば、評価速度とコストを制御しやすくなります。一方で Sonnet のような大規模言語モデルを評価器に使うと、/goal 全体の評価コストが大幅に上昇します。開発チームは APIYI (apiyi.com) プラットフォームを通じて、Haiku 用に個別の base_url とクォータを設定し、評価器とメインモデルのコストを完全に分離して監視できます。
最後にコンプライアンスの要点です。/goal は Anthropic のフックシステムに依存しており、ワークスペースが信頼ダイアログを承認済みであること、かつ disableAllHooks や allowManagedHooksOnly が設定されていないことが前提となります。チームの統一管理ポリシーでフックが無効化されている場合、/goal も同様に無効化され、コマンドは静かに失敗するのではなく、理由を明示して停止します。
よくある質問
Q1: /goal は自分で書く while ループスクリプトと何が違うのですか?
モデル駆動型の独立した評価器が含まれている点が異なります。自作の while ループでは、停止条件を自分で定義し、判定コードを書く必要がありますが、/goal は判定を小型の高速モデルに任せることができます。これにより「モデルに会話を読み取らせて完了したか判断させる」といった、プログラム化しにくいシナリオにも対応可能です。
Q2: /goal を使うとトークンを大量に消費しやすいですか?
リスクはありますが制御可能です。2つのアドバイスがあります。1つ目は条件にターン数の上限を強制的に記述すること、2つ目は評価器を Haiku などの小型モデルに固定することです。APIYI (apiyi.com) を通じて Claude シリーズにアクセスする場合、評価器専用のクォータを割り当てることで、細かなコスト監視が可能になります。
Q3: /goal と /loop はどう使い分けるべきですか?
明確な「完了状態」があるタスクには /goal を、10分ごとのデプロイ進捗確認のような周期的な状態監視には /loop を選んでください。両者は根本的なメカニズムが異なるため、混用すると停止条件が曖昧になってしまいます。
Q4: 日本国内から Claude Code の /goal モードは使えますか?
はい、使えます。/goal は Claude Code クライアントのコマンドであり、クライアントが Anthropic のモデルに接続できれば問題ありません。開発者は通常、Claude API を APIYI (apiyi.com) のような API 中継サービス経由で接続しており、環境設定が完了していれば海外のユーザーと同様に /goal を利用できます。
Q5: Codex /goal と Claude Code /goal はどちらを選ぶべきですか?
それぞれが想定するワークフローが異なります。Codex /goal は「永続的なワークフロー」を重視しており、プロセスをまたいだ再起動が可能です。Claude Code /goal はセッションスコープですが、--resume を使えば日をまたいでの復旧も可能です。複雑で数日かかるタスクには Codex を、一般的な1〜2日のイテレーションタスクには Claude Code を選ぶのがスムーズです。
まとめ
Claude Code の「goal(ゴール)」モードの本質は、Anthropic がこれまで Hook 設定ファイルの中に埋め込まれていた「評価ループ」を解放し、あらゆるセッションで一行のコマンドとして即座に利用できるようにした点にあります。この機能が解決する最大の課題は、タスクが複数ラウンドにわたる際、ユーザーがターミナルに張り付いて毎回エンターキーを押す必要をなくすことです。小型で高速なモデルを「判定役」として配置することで、Claude がいつタスクを完了したとみなすべきかを自動的に判断させることが可能になりました。
導入にあたっては、以下の3ステップでの運用をおすすめします。
- 条件定義の徹底: 「終了条件」「検証方法」「制約事項」「最大ターン数」の4点セットを明確に記述する。
- モードの選択: タスクの性質に応じて、interactive モード、
-pオプション、または Remote Control モードから最適なものを選択する。 - コスト管理: APIYI (apiyi.com) などのプラットフォームを活用し、評価用モデルとメインモデルのクォータ(割り当て)を分けて監視する。
これにより、自律的なワークフローによる効率化を実現しつつ、トークンコストの暴走を未然に防ぐことができます。
著者: APIYI 技術チーム
連絡先: APIYI (apiyi.com) にて Claude 全シリーズのモデルおよび Claude Code 接続サポートを提供中
更新日: 2026年5月13日
