ルーティン
スケジュール・API 呼び出し・GitHub イベントで、クラウド上で自動実行するルーティンの作り方です。トリガーの設定、実行の管理、環境とコネクタ、使用量の制限、トラブル対処をまとめています。
ルーティン(routine)は、保存済みの Claude Code の設定です。プロンプト・1つ以上のリポジトリ・コネクタの組をいちど用意すれば、自動で動きます。Anthropic が管理するクラウド上(振り分ければ、組織のセルフホスト環境上)で実行されるので、ノートパソコンを閉じても動きます。
補足
ルーティンは研究プレビュー(research preview)です。動作・制限・API の形は変わることがあります。Pro・Max・Team・Enterprise のプランで使えます。
- トリガーは3種類:スケジュール(定期、または将来の特定時刻に1回)・API(ルーティンごとのエンドポイントへ bearer トークン付きで HTTP POST)・GitHub(PR やリリースなどのイベント)
- 1つのルーティンに複数のトリガーを組み合わせられる(毎晩動かし、デプロイのスクリプトからも起動し、新しい PR にも反応する、など)
- 作成と管理は claude.ai/code/routines、デスクトップアプリ、CLI の
/schedule(別名/routines)から行う。3つとも同じクラウドのアカウントに書くので、どこで作っても全部に出る - Team と Enterprise のオーナーは、管理設定の Routines のトグルで、全メンバーのルーティンを無効にできる。無効にすると、既存のルーティンは止まり、新しく作れない
- ローカルで動かしたいときや、セッション内の繰り返しは定期実行と /loopを見てください
使い方の例#
どれも、人手なしで、繰り返せて、結果がはっきりした作業です。
| 用途 | 構成 |
|---|---|
| バックログの整理 | 平日の毎晩、スケジュールのトリガーが、コネクタ経由で課題管理を見る。前回以降の課題を読み、ラベルを付け、コードの領域から担当者を割り当て、Slack に要約を投稿する |
| アラートのトリアージ | 監視ツールが、エラーの閾値を超えたとき、アラートの本文を text で渡してエンドポイントを呼ぶ。Claude がスタックトレースを取り、最近のコミットと突き合わせ、修正案とアラートへのリンクつきのドラフト PR を開く |
| 独自のコードレビュー | pull_request.opened で GitHub のトリガーが動く。チーム独自のチェックリストで、セキュリティ・性能・スタイルのインラインコメントと要約コメントを付ける |
| デプロイの検証 | CD パイプラインが、本番へのデプロイのたびにエンドポイントを呼ぶ。新しいビルドでスモークチェックを行い、エラーログの退行を調べ、リリースのチャンネルに go か no-go を投稿する |
| ドキュメントのずれ | 毎週のスケジュール。前回以降にマージされた PR を調べ、変わった API を参照するドキュメントに印を付け、ドキュメントのリポジトリに更新の PR を開く |
| ライブラリの移植 | 1つの SDK のリポジトリでマージされた PR に絞った pull_request.closed のトリガー。別の言語の SDK に変更を移植して、対応する PR を開く |
ルーティンを作る#
claude.ai/code/routines・デスクトップアプリ・CLI のいずれかで作れます。デスクトップアプリでは、「Code」タブで、サイドバーか「More」メニューの「Routines」から「New routine」を選び、「Cloud」を選びます(「Local」を選ぶと、クラウドでなく自分のマシンで動く、デスクトップのスケジュールタスクができます)。作成のフォームで、プロンプト・リポジトリ・環境・コネクタ・トリガーを設定します。
ルーティンは、完全な Claude Code のクラウドセッションとして自律的に動きます。権限モードのピッカーはなく、セッションは、シェルコマンドを実行し、クローンしたリポジトリにコミットされたスキルを使い、含めたコネクタを呼びます。アーティファクトの一部の操作を除き、承認のために止まりません。ルーティンが届く範囲は、選んだリポジトリ、環境のネットワークアクセスと変数、含めたコネクタで決まります。それぞれを、ルーティンが本当に必要とする範囲に絞ってください。
スケジュールか「Run now」で実行が始まったとき、Claude は、次のすべてが当てはまる場合に限って、既存のアーティファクトを確認なしで再公開します。
- 自分が編集でき、自分の組織に属している
- 公開されていない
- 特定の人や組織と共有している場合は、閲覧者が新しい版を自動では見ない
- 公開がページだけで、補助のファイルなどを足さず、より新しい版を強制で上書きしない
- ページに、ページの外に届く権限(コネクタの呼び出しなど)を持たせていない
それ以外は、新しいアーティファクトの公開を含めて、Claude が先に確認します。ルーティンの仕事がページを最新に保つことなら、すでに公開したアーティファクトを渡します。
注意
ルーティンは、自分の個人の claude.ai アカウントに属します。チームメイトとは共有されず、実行は自分のアカウントの使用量と制限に数えられます。接続した GitHub のアイデンティティやコネクタを通したルーティンの操作は、自分の操作として出ます(コミットと PR は自分の GitHub ユーザーで、Slack のメッセージや Linear のチケットなどは連携したアカウントで)。
Web から作る#
- claude.ai/code/routines を開き、「New routine」をクリックする
- 内容の分かる名前を付け、毎回 Claude が動かすプロンプトを書く。ルーティンは自律的に動くので、プロンプトは自己完結し、何をするか・何をもって成功とするかを明示する。トリガーが動くと、セッションは保存されたプロンプトを、割り当てられた作業として受け取って実行する(会話の途中に届いた信頼できない内容としては扱わない)。トリガーが保証するのは、承認された自分のアカウントのセッションが事前にプロンプトを保存したことだけなので、動いたプロンプトは、リアルタイムのユーザーの入力ではなく、実行中の操作への承認や同意としては働かない。実行中に取得した内容は、通常の扱いのまま。v2.1.213 より前は、同じプロンプトが、信頼できない内容として枠づけられて渡されていた。プロンプトの入力にはモデルの選択があり、Claude は毎回、選んだモデルを使う
- Claude が作業する GitHub リポジトリを1つ以上足す。各リポジトリは実行の始まりにクローンされ、既定のブランチから始まる。変更のために、Claude は
claude/で始まるブランチを作る - ルーティンのクラウド環境を選ぶ。環境がクラウドセッションのアクセスを決める
- ネットワークアクセス:各実行で使えるインターネットアクセスの水準
- 環境変数:各実行で Claude が使える値。環境を使う誰にでも見えるので、Pro と Max のプランでは、実行中に Claude が呼ぶ API のキーは、代わりに API の資格情報として保存する
- セットアップスクリプト:ルーティンに要る依存関係やツールを入れる。結果はキャッシュされるので、毎回のセッションで再実行されない
- 「Select a trigger」で、ルーティンの始まり方を選ぶ。1種類でも複数を組み合わせてもよい
- 下の「Connectors」を確認する。接続済みの MCP コネクタは既定ですべて含まれる。ルーティンに要らないものは外す(含めたコネクタのすべてのツールを、書き込みも含め、実行中に許可を求めずに使えるため)
- 「Create」をクリックする。ルーティンが一覧に出て、トリガーが合ったときに動く。すぐ動かすには、詳細ページで「Run now」をクリックする。各実行は、ほかのセッションと並ぶ新しいセッションを作り、Claude がしたことを見て、変更をレビューし、PR を作れる
「Default」環境は、「Trusted」のネットワークアクセスで用意されます。パッケージレジストリ・クラウドプロバイダーの API・コンテナレジストリ・一般的な開発用ドメインの、既定の許可リストだけをセッションのネットワークに通します。ルーティンに足したコネクタは、Anthropic のサーバー経由でサービスに届くので、許可リストの変更は要りません。自分のサービスや、一覧の外のドメインに直接届く必要があるなら、環境のネットワークアクセスを編集します。
CLI から作る#
どのセッションでも /schedule を実行すると、会話形式でスケジュールのルーティンを作れます。説明を直接渡すこともできます。繰り返しなら /schedule daily PR review at 9am、1回きりなら /schedule clean up feature flag in one week のようにします。Claude は Web のフォームが集めるのと同じ情報を順に聞き、アカウントにルーティンを保存します。コマンドには別名 /routines もあります。
- 正常に始まると会話になり、保存の前に、スケジュール・リポジトリ・プロンプトについて追加の質問をする。代わりに、認証が必要・リモートの claude.ai アカウントに接続できないと返したときは、ルーティンは作られていない(「トラブルシューティング」を参照)
- CLI の
/scheduleが作るのはスケジュールのルーティン。API トリガーを足すには、Web で編集する。GitHub トリガーは、Web でも CLI でも足せる(CLI は v2.1.225 以降) - スケジュールのトリガーのないルーティン(API 呼び出しや GitHub イベントだけで始まるもの)には次の実行時刻がなく、Claude が保存・更新するとき CLI は何も出さない(v2.1.211 より前は、これらのルーティンに対して、1年の次の実行時刻を報告した)
トリガーを設定する#
ルーティンは、トリガーのどれかが合ったときに始まります。スケジュール・API・GitHub のトリガーを任意に組み合わせて同じルーティンに付けられ、ルーティンの編集フォームの「Select a trigger」でいつでも足したり外したりできます。
スケジュールのトリガー#
スケジュールのトリガーは、定期的に、または将来の特定時刻に1回、ルーティンを動かします。「Select a trigger」で、hourly・daily・weekdays・weekly のプリセットを選びます。時刻は自分のローカルのタイムゾーンで入力され、自動で変換されるので、クラウドの設備がどこにあっても、その時計の時刻に動きます。
- ちょうど毎時(9:00 など)に設定すると、数分遅れて始まることがある。予定に近い時刻で始めたいなら、9:07 のように、毎時から数分ずらす
- 2時間ごと・毎月1日のようなカスタムの間隔は、フォームで最も近いプリセットを選び、CLI で
/schedule updateを実行して、特定の cron 式を設定する。最短の間隔は1時間で、それより頻繁に動く式は拒否される
1回だけの実行をスケジュールする#
1回だけのスケジュールは、特定の時刻に1度だけルーティンを動かします。週の後半の自分への知らせ、ロールアウトが終わったあとの片づけの PR の作成、上流の変更が出たあとのフォローアップに使います。動いたあとは自動で無効になり、Web の UI では「Ran」と表示されます。もう一度動かすには、ルーティンを編集して新しい1回の時刻を設定します。CLI からは、時刻を自然な言葉で説明して作ります。Claude は、現在の時刻に対してその言い回しを解決し、保存の前に絶対的な時刻を確認します。
/schedule tomorrow at 9am, summarize yesterday's merged PRs
/schedule in 2 weeks, open a cleanup PR that removes the feature flag
繰り返しのスケジュールと同じローカルから UTC への変換が、1回の時刻にも適用されます。1回の実行は、ほかのスケジュールの実行と同じ時間あたりの制限に数えられます(「使用量と制限」を参照)。
API のトリガー#
API のトリガーは、ルーティンに専用の HTTP エンドポイントを与えます。ルーティンの bearer トークンつきでエンドポイントへ POST すると、新しいセッションが始まり、セッションの URL が返ります。アラートのシステム・デプロイのパイプライン・社内ツールなど、認証つきの HTTP リクエストが出せるところなら、どこでも Claude Code をつなげます。API のトリガーは、既存のルーティンに Web から足します。CLI は、いまのところトークンの作成や取り消しができません。
- claude.ai/code/routines で、API で起動したいルーティンをクリックし、名前の横のメニューから「Edit」を選ぶ
- 「Instructions」ボックスの下の「Select a trigger」で、「Add another trigger」をクリックし、「API」を選ぶ
- モーダルに、このルーティンの URL とサンプルの curl コマンドが出る。URL をコピーし、「Generate token」をクリックして、すぐトークンをコピーする。トークンは1回しか表示されず、あとから取り出せないので、アラートのツールのシークレットストアなど、安全な場所に保管する
- URL へ POST するとき、
Authorization: Bearerヘッダーにトークンを付ける
各ルーティンに自分専用のトークンがあり、そのルーティンの起動だけに限られます。ローテーションや取り消しは、同じモーダルで「Regenerate」「Revoke」をクリックします。
ルーティンを起動する#
/fire エンドポイントに、Authorization ヘッダーに bearer トークンを付けて POST します。リクエストの本文は、任意の text フィールドを受け付けます。アラートの本文や失敗したログのような、その実行に固有の文脈を、保存したプロンプトといっしょにルーティンへ渡します。値は自由形式のテキストで、解析されません。JSON などの構造化されたペイロードを送ると、ルーティンはそれをそのままの文字列として受け取ります。
text の値は、素のメッセージとしては届きません。信頼できないデータと示し、ルーティン自身のプロンプトがそう指示しない限り中の指示に従わないよう Claude に伝える、<routine-fire-payload> ブロックで包まれて届きます。Web の UI の「Run now」で与えたテキストにも、同じ包みが適用されます。したがって、ルーティンの保存したプロンプトは、起動のテキストに従って動くことを、自分で明示する必要があります(たとえば「Investigate the alert described in the routine-fire-payload block」とペイロードを明示的に参照する)。そうしないと、ルーティンはそのテキストを動かない文脈として扱います。bearer トークンを持つ人は誰でも text を送れるので、この包みによって、トークンが漏れても、起動のテキストは、ルーティンへの直接の指示でなく、信頼できないデータとして届きます。
次の例は、シェルからルーティンを起動します。ルーティンの ID とトークンはプレースホルダーです。API のトリガーを足したときにコピーした URL とトークンに置き換えてください。そうしないと、リクエストは 401 の認証エラーで失敗します。
curl -X POST https://api.anthropic.com/v1/claude_code/routines/trig_01ABCDEFGHJKLMNOPQRSTUVW/fire \
-H "Authorization: Bearer sk-ant-oat01-xxxxx" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
成功すると、新しいセッションの ID と URL を持つ JSON が返ります。
{
"type": "routine_fire",
"claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
"claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}
セッションの URL をブラウザで開くと、実行をリアルタイムで見る・変更をレビューする・会話を手動で続けることができます。
注意
/fire エンドポイントは、ベータヘッダー experimental-cc-routine-2026-04-01 のもとで提供されます。研究プレビューの間は、リクエストとレスポンスの形・レート制限・トークンの意味づけが変わることがあります。破壊的な変更は、日付つきの新しいベータヘッダーのバージョンで出され、直前の2つのヘッダーのバージョンは引き続き動くので、移行の時間があります。
エラーの応答・検証規則・フィールドの上限を含む完全な API のリファレンスは、Claude Platform のドキュメントの「Trigger a routine via API」を見てください。/fire エンドポイントは claude.ai のユーザー専用で、Claude Platform の API の面には含まれません。
GitHub のトリガー#
GitHub のトリガーは、接続したリポジトリで合致するイベントが起きると、新しいセッションを自動で始めます。Claude Code はイベントをまたいでセッションを再利用しないので、PR の更新が2回あれば、独立した2つのセッションができます。
補足
GitHub の Webhook イベントには、ルーティンごとと、アカウントごとの時間あたりの上限があります。上限を超えたイベントは、枠がリセットされるまで捨てられます。
購読したいリポジトリに Claude GitHub App を入れる必要があります(どの面から設定しても同じ)。
- Web の UI から設定する:アプリがなければ、入れるよう促される
- CLI から:先に GitHub App のページからアプリを入れ、既存のルーティンに GitHub のトリガーを付けるよう Claude に頼む(例:
/schedule add a GitHub trigger to my nightly review for pull requests opened in acme/webapp。CLI の経路には v2.1.225 以降が必要)。Claude がトリガーを足すと、トリガーが起動するルーティンへのリンクを返す
Web での手順は、ルーティンを編集用に開き、「Select a trigger」で「Add another trigger」から「GitHub event」を選び、リポジトリ・対応するイベント・任意のフィルターを選んで保存します。CLI の /web-setup は、クローンのためのリポジトリアクセスを与えますが、Claude GitHub App を入れず、Webhook の配信も有効にしません。
対応するイベント#
GitHub のトリガーは、次の2つのイベントのカテゴリのどちらかを購読できます。各カテゴリの中で、pull_request.opened のような特定のアクションを選ぶか、カテゴリのすべてのアクションに反応できます。
| イベント | 動くとき |
|---|---|
| Pull request | PR が、開かれた・閉じられた・割り当てられた・ラベルが付いた・同期された、またはほかの更新をされたとき |
| Release | リリースが、作られた・公開された・編集された・削除されたとき |
PR を絞り込む#
フィルターで、どの PR が新しいセッションを始めるかを絞れます。ルーティンが動くには、すべてのフィルターの条件が合う必要があります。
| フィルター | 合致する対象 |
|---|---|
| Author | PR の作者の GitHub のユーザー名 |
| Title | PR のタイトルのテキスト |
| Body | PR の説明のテキスト |
| Base branch | PR の向かう先のブランチ |
| Head branch | PR の元のブランチ |
| Labels | PR に付いているラベル |
| Is draft | PR がドラフトの状態か |
| Is merged | PR がマージ済みか |
各フィルターは、フィールドと演算子の組です。演算子は equals・contains・starts with・is one of・is not one of・matches regex です。matches regex は、部分文字列ではなく、フィールドの値全体を検査します。hotfix を含むタイトルすべてに合わせるには、.*hotfix.* と書きます。前後の .* がないと、前にも後ろにも何もない、ちょうど hotfix のタイトルだけに合います。正規表現の構文を使わずに文字列の一部に合わせるには、contains を使います。フィルターの組み合わせの例は次のとおりです。
- 認証モジュールのレビュー:base branch が
main、head branch にauth-providerを含む。認証に触れる PR を、専門のレビュアーへ送る - レビュー待ちだけ:is draft が
false。ドラフトを飛ばして、PR がレビュー可能になったときだけ動く - ラベルで制御するバックポート:ラベルに
needs-backportを含む。メンテナーが PR にタグを付けたときだけ、別のブランチへの移植のルーティンを起動する
ルーティンを管理する#
一覧でルーティンをクリックして、詳細ページを開きます。詳細ページには、リポジトリ・コネクタ・プロンプト・スケジュール・API トークン・GitHub トリガー・過去の実行の一覧が出ます。
実行を見て操作する#
実行をクリックすると、完全なセッションとして開きます。Claude がしたことを見る・変更をレビューする・PR を作る・会話を続けることができます。各実行のセッションはほかのセッションと同じで、セッションのタイトルの横のドロップダウンから、名前の変更・アーカイブ・削除ができます。
補足
実行の一覧の緑は、セッションが始まって、インフラのエラーなしに終了したことを示すだけで、プロンプトの作業が成功したことを意味しません。実行を開いてトランスクリプトを読み、Claude が実際に何をしたかを確かめてください。ブロックされたネットワークの要求・見つからないコネクタのツール・作業単位の失敗は、状態の表示ではなく、そこに現れます。
編集と制御#
詳細ページでできることは次のとおりです。
- 「Run now」:次の予定の時刻を待たずに、すぐ実行を始める。任意で、その実行に固有のテキストを与えられ、API トリガーの
textフィールドと同じようにルーティンへ届く - ページ上部のオン/オフのスイッチ:スケジュールを止める・再開する。止めたルーティンは設定を保つが、再び有効にするまで動かない
- 名前の横のメニューの「Edit」:名前・プロンプト・リポジトリ・環境・コネクタ・トリガーを変える。「Select a trigger」の節で、スケジュール・API トークン・GitHub のイベントのトリガーを足したり外したりする
- 同じメニューの「Delete」:ルーティンを削除する
CLI から管理する#
CLI は、既存のルーティンの管理に対応します。
| コマンド | 内容 |
|---|---|
/schedule list |
すべてのルーティンを一覧する |
/schedule update |
ルーティンを変更する |
/schedule run |
ルーティンをすぐ起動する |
実行の履歴も、たとえば /schedule why did my nightly review do nothing this morning? のように尋ねられます。Claude は、ルーティンの最近の実行を、状態と Web で各実行を開くリンクつきで一覧し、実行のログを読んで、ツールのエラー・権限の拒否・最終結果を含め、何が起きたかを説明します(v2.1.227 以降)。
リポジトリとブランチの権限#
ルーティンは、リポジトリをクローンするのに GitHub アクセスが要ります。CLI の /schedule で作るとき、Claude は、実行したリポジトリについて、アカウントに GitHub アクセスがあるかを確かめ、なければ、付与の方法を示す設定のメモを足します。付与の2つの方法は、クラウド(Web)の GitHub 認証の選択肢を見てください。
- 実行の時期になって GitHub の接続がないか期限切れだと、ルーティンは、再接続するまで最大72時間、実行を飛ばす。この間に GitHub を再接続すれば、ルーティンは自分で再開する。接続なしで72時間が過ぎると、ルーティンは無効になり、GitHub を再接続したあとで自分でオンに戻す
- 足した各リポジトリは、毎回の実行でクローンされる。プロンプトが別に指定しない限り、Claude はリポジトリの既定のブランチから始める
- Claude は、プロンプトが別のブランチへの push を指示しないかぎり、
claude/で始まるブランチへ作業を push する。実行が push できるブランチを制御するには、GitHub のブランチ保護ルールかルールセットを使う。Anthropic が管理するインフラでの実行と、Anthropic の git プロキシ経由で push するセルフホストの実行では、GitHub は、つないだ GitHub アクセスにそれらを適用するので、そのアクセスが回避できるルールは実行の push を止めない。デプロイが用意する git の認証情報で push するセルフホストの実行は、代わりにそちらの設定で確かめられる
コネクタ#
ルーティンは、接続した MCP コネクタを使って、各実行で外部サービスを読み書きできます。たとえば、サポートの依頼を仕分けるルーティンは、Slack のチャンネルを読み、Linear に課題を作れます。コネクタは、アカウントの claude.ai の連携です。CLI で claude mcp add を使って足したローカルの MCP サーバーは、claude.ai のアカウントでなく自分のマシンに保存されるので、コネクタの一覧には出ません。それらのサーバーをルーティンで使うには、claude.ai/customize/connectors でコネクタとして足します。リポジトリが1つのルーティンなら、代わりに、コミット済みの .mcp.json に宣言して、クローンしたリポジトリの一部にできます。
ルーティンを作るとき、現在接続しているすべてのコネクタが既定で含まれます。実行中に Claude が使えるツールを絞るため、要らないものを外します。コネクタはルーティンのフォームからも足せます。フォームの外で管理・追加するには、claude.ai/customize/connectors を開くか、CLI で /schedule update を使います。
環境とネットワークアクセス#
各ルーティンは、ネットワークアクセス・環境変数・セットアップスクリプトを制御するクラウド環境を使い、毎回の実行で環境のネットワークの方針を引き継ぎます。「Default」環境は、「Trusted」のネットワークアクセスを使い、既定の許可リストだけをセッションのネットワークに通します。その経路で許可リスト外のホストへの要求は、403 と x-deny-reason: host_not_allowed で失敗します。MCP コネクタの通信は、その経路でなく Anthropic のサーバーを通るので、ルーティンに足したコネクタは、ホストを「Allowed domains」に足さなくても動きます。要らないコネクタは、「Connectors」で外します。
自分の環境でドメインを足すには、次の手順です。組織で共有する環境はここでは読み取り専用で開くので、オーナーが管理設定の「Cloud environments」のページで変更します。
- ルーティンの詳細ページで、名前の横のメニューから「Edit」を選ぶ
- 「Instructions」ボックスの下で、環境の名前(「Default」など)を示すクラウドのアイコンを選ぶ
- 一覧の環境にカーソルを置き、右に出る設定のアイコンをクリックする
- 「Edit environment」のダイアログで、「Network access」を「Custom」にし、「Allowed domains」にドメインを入力する。「Also include default list of common package managers」にチェックすると、カスタムのドメインと並べて既定の許可リストを保つ。制限のないアクセスにするには、代わりに「Full」を選ぶ
- 「Save changes」をクリックする。新しい方針は次の実行から適用される
使用量と制限#
ルーティンは、対話セッションと同じように、サブスクリプションの使用量を消費します。現在の消費は claude.ai/settings/usage で見られます。サブスクリプションの使用量とは別に、実行の始め方ごとに、時間あたりの制限があります。
| 操作 | 制限 | 数える単位 | 超えたとき |
|---|---|---|---|
| スケジュールの実行(1回の実行を含む) | 1時間に100回 | アカウント | 制限がリセットされるまで実行が待つ |
| 「Run now」・API の起動・1回のルーティンの再実行の設定 | 1時間に30回 | ルーティンごと。3つで1つのカウントを共有 | 制限がリセットされるまで、その操作は失敗する |
| 「Run now」と、1回のルーティンの再実行の設定 | 1時間に100回 | アカウント | 同上 |
| API の起動 | 1時間に100回 | アカウント(「Run now」とは別に数える) | 同上 |
| GitHub イベント | 「GitHub のトリガー」の節を見る |
これらの時間あたりの制限に、超過分の従量課金はありません。ルーティンがサブスクリプションの使用制限に達したとき、使用クレジットをオンにしている組織は、従量課金の超過でルーティンを動かし続けられます。使用クレジットがなければ、使用の枠がリセットされるまで、追加の実行は拒否されます。使用クレジットは claude.ai/settings/usage でオンにし、Team と Enterprise のプランでは、管理者が claude.ai/admin-settings/usage で組織向けにオンにします。サブスクリプションが一時停止している間は、ルーティンも保留になって動きません。サブスクリプションが再び有効になったら、ルーティンをオンに戻します。
トラブルシューティング#
/schedule が「Unknown command」と返る#
CLI は、要件を満たさないとき /schedule を隠します。入力中のコマンドメニューには No commands match "/schedule" と出て、実行すると Unknown command: /schedule が返ります(下のように別の答えが出る場合を除く)。原因は、次のどれかであることが多いです。
- Console の API キー・Anthropic のプロファイルやフェデレーションの資格情報・Amazon Bedrock・Google Cloud の Agent Platform・Microsoft Foundry のようなクラウドプロバイダーで認証している。
/scheduleには claude.ai のサブスクリプションのログインが必要。Console の API キーかプロファイルで、機能フラグの取得が有効なとき、/scheduleを実行すると、代わりに/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key accessと出る。クラウドプロバイダーのログインでは、Unknown command: /scheduleのまま - API キーなどの資格情報もなく、完全にサインアウトしている。機能フラグの取得が有効なとき、
/scheduleを実行すると/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.と出る。v2.1.268 より前は、サインアウトしたセッションにも Console の API キーと同じ Claude for Enterprise のメッセージが出た - クラウドセッションの中にいる。
/scheduleを実行すると、その環境ではコマンドが使えないと答える。代わりに Web の UI でルーティンを管理する - 組織の方針が、ルーティンに必要なクラウドセッションを無効にしている。このとき
/scheduleは、Cloud sessions are disabled by your organization's policyと答える(v2.1.268 より前はUnknown command: /schedule) - オーナーが、Team か Enterprise の組織で、ルーティンをオフにした(v2.1.227 より前は、このときもコマンドは出て、Claude がルーティンを作る・動かすとき claude.ai が拒否した)
組織の方針がルーティンかクラウドセッションを無効にしていない限り、CLI の設定にかかわらず、claude.ai/code/routines でルーティンを作って管理できます。
「Routines are disabled by your organization's policy」#
Team か Enterprise の組織のオーナーが、claude.ai/admin-settings/claude-code の「Routines」のトグルをオフにした可能性が高いです。Claude Code v2.1.227 以降では、同じトグルが CLI の /schedule も隠します。これはサーバー側の組織の設定なので、ローカルの設定では上書きできません。オーナーに、組織のルーティンを有効にするよう頼んでください。
関連:セッション内のスケジュールは定期実行と /loop、CI でイベントに反応させるなら GitHub Actions、外部サービスとの接続は MCP サーバーをつなぐを見てください。
公式ドキュメント(英語)
2026年10月5日時点の内容をもとに、日本語でまとめています。