アルアカ - Arcadia Academia

Arcadia Academiaは「エンジニアリングを楽しむ」を合言葉に日本のデジタル競争力を高めることをミッションとするテックコミュニティです。

Claude Codeの/goalコマンド活用ガイド|ゴール達成まで自走させる使い方・条件の書き方・注意点【2026年最新】

Featured image of the post

「Claude Codeの /goal コマンドって何?」→ 「完了条件」を決めると、それを満たすまでClaudeが自動でターンを回し続けてくれるコマンドです。毎回「もう一回やって」と指示しなくても、ゴールに向かって勝手に進めてくれます(達成したら自動で終了)。

これは、先日解説した「Loop Engineering(ループエンジニアリング)」の「検証可能なゴールを決めて自走させる」考え方を、Claude Code上でそのまま使えるようにしたものです。本記事では /goal の仕組み・使い方・条件の書き方・注意点までを公式情報ベースで図解します。

⚠️
/goalClaude Code v2.1.139 以降 で使えます。古い場合は claude update 等でアップデートしてください。
💡
Claude Code・AIエージェントの開発導入・運用設計のご相談はお気軽にどうぞ!

お問合せはこちら


[目次を開く]

1. /goalコマンドとは

/goal は、完了条件を設定し、その条件が満たされるまでClaudeがターンをまたいで作業し続けるコマンドです。通常はClaudeが1ターンごとに手を止めてあなたの指示を待ちますが、/goal を使うと「条件を満たしたか?」を毎回チェックし、まだなら次のターンを自動で始めます。

向いているのは、「検証可能な終了状態」があるまとまった作業です(例:テストが全部通るまで、ビルドが通るまで、Issueキューが空になるまで)。


2. /goalの仕組み

/goal の最大の特徴は、「作業するAI」と「完了を判定するAI」が分かれている点です。毎ターン後に、別の小型モデル(既定Haiku)が評価役として条件をチェックします。

flowchart TD
    A["/goal <条件> を設定"] --> B["Claudeがターンを実行<br>(作業役)"]
    B --> C{"評価役(小型モデル=既定Haiku)<br>条件を満たした?"}
    C -->|"No(理由を次ターンへ)"| B
    C -->|"Yes"| D["ゴール達成<br>自動でクリア・記録"]
  • 評価役は Yes/No と短い理由 を返します。No ならその理由が次ターンのガイドになり、Yes ならゴールをクリアして「達成」として記録されます。
  • 重要: 評価役はコマンドを実行したりファイルを読んだりしません。「会話(トランスクリプト)に出た内容」だけで判定します。だから条件はClaudeの出力で証明できる形で書くのがコツです(次4章)。

仕組みとしては、/goalセッション限定の「プロンプトベースのStopフック」のラッパーです。Stopフック(ターン終了時に走るフック)については姉妹記事もどうぞ。

📄Arrow icon of a page linkClaude Code Hooks 活用ガイド|自動化・通知・CI連携の実践レシピ集【2026年版】


3. 基本の使い方

ゴールを設定する

/goal に続けて、満たしたい条件を書きます。設定した瞬間に最初のターンが始まるため、別途プロンプトを送る必要はありません。

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

ゴールが有効の間は ◎ /goal active インジケータが表示され、経過時間がわかります。ゴールは1セッションに1つだけ有効にできます(新しく設定すると置き換わり)。

状況を確認する

引数なしで /goal を実行すると、現在の条件・経過時間・評価したターン数・トークン消費・評価役の最新の理由が見られます。

/goal

ゴールを途中で止める

条件達成前に止めるには /goal clear を使います(stop off reset none cancel も同義。/clear で新しい会話を始めても解除)。

/goal clear

セッションを再開しても継続

ゴールが有効なままセッションが終わっても、--resume / --continue で再開すれば条件は引き継がれます(ただしターン数・タイマー・トークン集計はリセット)。


4. 効果的な条件の書き方

評価役は「会話に出た内容」で判定するので、Claude自身の出力で証明できる条件にします。効く条件は次の3要素を含みます。

flowchart LR
    G["効果的な /goal 条件"] --> E1["① 測定可能な終了状態<br>テスト結果/終了コード/件数/空キュー"]
    G --> E2["② 証明方法(チェック)<br>例: npm test が exit 0"]
    G --> E3["③ 守るべき制約<br>例: 他のテストは変更しない"]
  • 良い例: 「test/auth の全テストが通り、npm test が exit 0。他のテストファイルは変更しない」→ Claudeがテストを実行し結果が会話に残るので評価できる。
  • 悪い例: 「コードをいい感じにして」→ 測定不能で評価役が判定できない。

条件は最大4,000文字まで。暴走を防ぐには、条件に 「or stop after 20 turns」のようなターン/時間上限の句を入れておくと安心です。


5. 非対話(ヘッドレス)で使う

/goal はヘッドレスモード・デスクトップアプリ・Remote Controlでも使えます。-p で渡すと、1回の実行でループを最後まで回し切ります

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

途中で止めるときは Ctrl+C で中断します。CIや定期ジョブに組み込むと、「条件を満たすまで自動で仕事をさせる」運用ができます。


6. /loop・Stopフック・autoモードとの違い

セッションを回し続ける方法は他にもあります。「次のターンを何が始めるか」で選びます。

方法 次のターンの起点 止まる条件
/goal 前のターンが終わったとき モデルが条件達成を確認したとき
/loop 一定時間が経過したとき 手動で止めるか、Claudeが完了と判断
Stopフック 前のターンが終わったとき 自分のスクリプト/プロンプトが判断
autoモード (ターン内のツール承認を自動化するだけ) Claudeが作業完了と判断したとき

ポイントは、/goal完了を「作業をしたモデル」ではなく「別の評価モデル」が判定する点。autoモードとは補完関係で、autoモード=ツールごとの承認を省く / /goal=ターンごとの指示を省く。併用すれば無人でゴールまで走ります。


7. 注意点

  • 評価役はツールを実行しない。会話に出ていない事実は判定できないので、Claudeにテスト結果等を実際に出力させる条件にする。
  • 信頼したワークスペースでのみ動作/goal はhooksシステムの一部なので、トラストを許可していないワークスペースや、disableAllHooks / 管理設定の allowManagedHooksOnly が有効な場合は使えません(理由を表示してくれます)。
  • コスト: 評価は小型モデルで行われ、メインのターンに比べれば負担はわずか。ただし作業本体は何ターンも回るとトークンを使うので、条件にターン/時間上限の句を入れて暴走を防ぐ。
  • 無人で回すなら auto モードを併用すると、ツール承認で止まらずに進みます(その分権限には注意)。

8. 活用例

  • API移行: すべての呼び出し箇所がコンパイルしテストが通るまで、モジュールを新APIに移行。
  • 設計書の実装: すべての受け入れ基準(acceptance criteria)を満たすまで実装。
  • 大きなファイルの分割: 各ファイルがサイズ上限を下回るまで、集中したモジュールに分割。
  • Issueバックログ消化: ラベル付きIssueのキューが空になるまで処理。

まとめ

/goal は、「検証可能な完了条件」を渡してClaudeをゴールまで自走させる、Loop EngineeringをClaude Codeで手軽に体験できるコマンドです。

  • 使い方: /goal <条件> で設定、/goal で状況確認、/goal clear で解除。
  • コツ: 条件は「測定可能な終了状態+証明方法+制約」で、Claudeの出力で証明できる形に。
  • 安全: ターン/時間上限の句を入れ、信頼したワークスペースで使う。

まずは「テストが全部通るまで」のような小さなゴールから試すのがおすすめです。

Claude Codeの業務導入・運用設計のご相談は、お問合せフォームよりお気軽にどうぞ。

💡
Claude Code・AIエージェントの開発導入・運用設計のご相談はお気軽にどうぞ!

お問合せはこちら

よくある質問 (FAQ)

質問をみる

Q: /goalはどのバージョンから使えますか?

A: Claude Code v2.1.139 以降です。それより古い場合はアップデートしてください。


Q: /loop と何が違いますか?

A: /goal は「条件を満たすまで」次ターンを始めます(达成をモデルが判定)。/loop は「一定時間ごと」に再実行します。条件達成型なら/goal、定期実行型なら/loop。


Q: コストが心配です。

A: 評価自体は小型モデル(既定Haiku)で僅少ですが、作業本体はターンごとにトークンを使います。条件に「or stop after N turns」を入れて上限を設けましょう。


Q: /goal が使えない(表示されない)のはなぜ?

A: v2.1.139未満、未信頼のワークスペース、または hooks が無効化(disableAllHooks 等)のときです。コマンドが理由を教えてくれます。

関連記事

📄Arrow icon of a page linkLoop Engineeringとは?プロンプトエンジニアリングの次に来るAIエージェント設計|仕組み・5要素・実践を図解【2026年最新】

📄Arrow icon of a page linkClaude Code Hooks 活用ガイド|自動化・通知・CI連携の実践レシピ集【2026年版】

📄Arrow icon of a page linkCLAUDE.md の書き方完全ガイド:Claude Code にプロジェクトコンテキストを正しく伝える

出典

プログラミング学習でお悩みですか?

現役エンジニアがあなたの学習をマンツーマンでサポートします。

  • 学習の進め方がわからない
  • ポートフォリオの作り方を知りたい
  • 現場で使える技術を学びたい
まずは30分の無料相談

相談は完全無料・オンラインで気軽に

あなたを爆速で成長させるメンタリングプログラムはこちら

メンタープログラムバナー

学習・開発のお悩みは現役エンジニアに相談

メンタープログラムの詳細を見る

エンジニアの基礎学習ゲーム

プログラミング学習支援

無料相談はこちら