本文へスキップ
Claude Media
Claude Code Routines完全実践ガイド — クラウド側で動く「予定されたClaude」

Claude Code Routines完全実践ガイド — クラウド側で動く「予定されたClaude」

Claude Code Routinesはclaude.ai/codeのクラウド側で動く「予定されたClaude」。3つのトリガー(scheduled / API / GitHub event)で自走し、PR作成まで自律的に進められる。仕様・設定・料金・既存機能との使い分けを公式仕様ベースで整理します。

読了目安 約17

要点

Claude Code Routinesは、Anthropicの管理するクラウド側(claude.ai/code)で動く「予定されたClaude」です。2026年4月14日にresearch previewとして公開された機能で、ローカルマシンの起動状態に関係なく、決められたトリガーでClaude Codeセッションを自律的に走らせてPRまで作成できます。

本記事は次の4点を扱います。

  1. Routinesとは何か(claude.ai/code上で動く実体、CLIからは /schedule で操作)
  2. 3つのトリガー(scheduled / API / GitHub event)の仕様
  3. 設定の作り方(Web / CLI / Desktopの3経路)と料金 / クオータ
  4. 既存機能(/loop / Desktop scheduled tasks / GitHub Actions)との使い分け

注意:Routinesはresearch preview(anthropic-beta: experimental-cc-routine-2026-04-01)なので、API shapeやヘッダーは将来変更の可能性があります。本記事は2026年5月9日時点の公式情報に基づきます。

Claude Code Routinesとは

公式定義は次の通り(出典:code.claude.com/docs/en/routines)。

A routine is a saved Claude Code configuration: a prompt, one or more repositories, and a set of connectors, packaged once and run automatically.

つまり「プロンプト + リポジトリ + connectorを1セットにして保存し、自動で実行できる」仕組みです。実体はclaude.ai/code(Anthropicのクラウド)で動き、CLI / Desktopアプリは設定UIとして機能します。

動作の場所

場所役割
claude.ai/code(Web)Routinesが実際に走るクラウド環境。claude.ai/code/routines で新規作成 / 編集 / 履歴確認
Claude Code CLI/schedule コマンドでscheduled triggerを登録できる。API / GitHub triggerはWebから追加
Claude DesktopアプリサイドバーのRoutinesで操作。Local / Remote選択肢があり、Remote = Routines、Local = Desktop scheduled task

すべてのsurfaceが同じクラウドアカウントに書き込むため、どこで作っても他からも見える設計です。

Routineが含む構成要素

要素説明
NameRoutineの識別名
PromptClaudeに渡される指示文。モデルセレクタ付き
Repositories操作対象のリポジトリ(複数可)
Environmentnetwork設定 / 環境変数 / setup script
Triggersscheduled / API / GitHubの組み合わせ
ConnectorsSlack / Linear / Google Drive等のMCP connector
Permissionsbranch push制限の解除有無など

実行できること

公式ドキュメントによると、Routineセッションは「full Claude Code cloud session」として動作し、以下を承認プロンプトなしで自律的に実行できます。

  • shellコマンド
  • リポジトリ内にコミットされているSkills
  • 設定したMCP connectorsの全ツール
  • PR作成 / コメント投稿

デフォルトでは claude/-prefixのブランチにしかpushできない設計で、本番ブランチへの直接pushは禁じられています。Allow unrestricted branch pushes 設定で解除可能です。

3つのトリガー

Routinesは3種類のトリガーを組み合わせて起動できます。

トリガー 1: Scheduled trigger(時間ベース)

決まった時刻 / 周期で起動するトリガー。

プリセット: hourly / daily / weekdays / weekly
単発: 任意のfuture timestamp(/schedule tomorrow at 9am, ... のような自然言語入力可)
カスタムcron: /schedule update でcron式を設定

重要な制約: 最小間隔は1時間。これより短い間隔は拒否されます。タイムゾーンはローカル → UTCに自動変換され、routineごとに決まった数分の遅延(stagger)が掛かります。

CLIからの設定例:

/schedule daily PR review at 9am
/schedule clean up feature flag in one week
/schedule tomorrow at 9am, summarize yesterday's merged PRs

トリガー 2: API trigger(HTTP POSTで発火)

外部システムからHTTPリクエストで起動するトリガー。CDパイプラインやモニタリングツールからの連携に使えます。

エンドポイント: POST /v1/claude_code/routines/{routine_id}/fire
認証: Routineごとに発行されるper-routine bearer token(sk-ant-oat01-... 形式、表示は1回のみ)

公式のcurl例(verbatim):

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."}'

リクエストボディの textfreeform string、最大65,536文字。JSON構造ではなく単なる文字列としてClaudeに渡されます。

成功時のレスポンス:

{
  "type": "routine_fire",
  "claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
  "claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}

トリガー 3: GitHub trigger(Pull Request / Releaseイベント)

GitHubの特定イベントで起動するトリガー。Claude GitHub Appのインストールが必須(/web-setup 単独では足りない)。

対応イベント:

  • Pull request: opened / closed / assigned / labeled / synchronized等
  • Release: created / published / edited / deleted

フィルタ: Author / Title / Body / Base branch / Head branch / Labels / Is draft / Is merged
フィルタ演算子: equals / contains / starts with / is one of / is not one of / matches regex

GitHub Actions内からfireする例(APIリファレンスより):

- if: failure()
  env:
    ROUTINE_FIRE_URL: ${{ secrets.ROUTINE_FIRE_URL }}
    ROUTINE_FIRE_TOKEN: ${{ secrets.ROUTINE_FIRE_TOKEN }}
  run: |
    curl -X POST "$ROUTINE_FIRE_URL" \
      -H "Authorization: Bearer $ROUTINE_FIRE_TOKEN" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: experimental-cc-routine-2026-04-01" \
      -H "Content-Type: application/json" \
      -d "{\"text\": \"CI failed: $GITHUB_WORKFLOW run $GITHUB_RUN_ID on $GITHUB_REF\"}"

設定の作り方(3経路)

経路1: Web(claude.ai/code/routines)

新規作成 / 編集 / API token管理の正面玄関。Web UIで全trigger種別の設定が可能です。

経路2: CLI(/schedule コマンド)

Claude Code を起動して /schedule でscheduled triggerを作成できます。

/schedule list
/schedule update
/schedule run

CLIから作成したroutineもWebに同期され、後からWebでtrigger種別を追加できます。

経路3: Desktopアプリ(サイドバーのRoutines)

DesktopアプリのサイドバーからRoutinesを選び、Local / Remoteを切り替えます:

  • Remote = Routines(クラウドで動く)
  • Local = Desktop scheduled task(ローカルマシンで動く)

料金とクオータ

Routinesはsubscription usage limitsを通常のinteractive sessionと同じく消費します(出典:routines docs)。

1日あたりのrun上限(per-account)

プラン上限
Pro5 / day
Max15 / day
Team / Enterprise25 / day

One-off runs(単発のfuture timestamp実行)はdaily capにカウントされません(通常のsubscription usageは消費しますが、capには影響なし)。

daily cap到達後の挙動:

  • Extra usageが有効な組織 → metered overageで続行
  • 無効な場合 → reject(API triggerはHTTP 429で Retry-After ヘッダ付き)

Pro / Max / Team / Enterpriseプランで利用可。Freeプランでは利用できません。加えてClaude Code on the webが有効である必要があります。

/loop / Desktop scheduled tasksとの使い分け

Claude Codeにはscheduling系の機能が3つあり、それぞれ動作場所と最小間隔が異なります。

観点Routines(Cloud)Desktop scheduled tasks/loop
実行場所Anthropic cloudローカルマシンローカルマシン(セッション内)
マシン起動必須不要必要必要
セッション維持必須不要不要必要(--resume で復元可)
再起動を跨ぐ永続性ありありunexpiredのみ
ローカルファイルアクセスなし(fresh clone)ありあり
MCP serverstriggerごとに設定config / connectorsセッション継承
権限プロンプトなし(自律実行)taskごと設定可セッション継承
最小間隔1時間1分1分

使い分けの判断軸

  • マシンを起動していなくても回したい → Routines(クラウド)
  • ローカルファイル / 設定に直接触りたい → Desktop scheduled tasks
  • 進行中セッションの内部で繰り返したい/loop

CLAUDE_CODE_DISABLE_CRON の役割

CLI環境変数 CLAUDE_CODE_DISABLE_CRON=1 を設定すると、CLI側のcron機能(/loop やcron tools)が無効になります。Routines自体はorganization adminの管理画面(claude.ai/admin-settings/claude-code)で組織全体の有効 / 無効を切り替えます。

6つの典型ユースケース(公式が示すもの)

公式docs(code.claude.com/docs/en/routines)が紹介しているシナリオ:

ユースケーストリガー動作
Backlog maintenancescheduled(毎晩)バックログ整理、リファクタの提案PR
Alert triageAPI(Sentry / DataDog等)アラート受信時に修正案PRを起こす
Bespoke code reviewGitHub pull_request.opened独自基準のコードレビュー
Deploy verificationAPI(CDパイプライン)デプロイ後の動作確認 / ロールバック判断
Docs driftscheduled(週次)コードとdocsの乖離を検出して同期PR
Library portGitHub pull_request.closed + mergedSDK横展開(Pythonに入った変更をTSに移植)

注意点 / 落とし穴

1. 「RoutinesはCLI機能」と思わない

Routinesの 実体はクラウド側(claude.ai/code)で、CLIは設定経路の1つにすぎません。CLI changelogにもRoutinesの追加エントリは存在しません(CLI側で先行追加された /loop / cron toolsがv2.1.71、CLAUDE_CODE_DISABLE_CRON がv2.1.72)。

2. daily capはper-account / per-day

「Pro 5 / Max 15 / Team・Enterprise 25」は同時実行上限ではなく、1日あたりのrun上限。同時実行については公式docsに明示なし。

3. text payloadはparsedされない

API triggerの textfreeform stringとしてClaudeに渡るだけで、JSONとしてparseされません。「JSONで構造化データを送れます」と思って書くと意図通りに使われません。

4. branch pushのデフォルトは制限付き

Routineからのpushはデフォルトで claude/-prefixブランチに限定されます。本番ブランチへ直接pushしたい場合は Allow unrestricted branch pushes を有効化する必要がある(セキュリティ的にはデフォルトのままが安全)。

5. コミット / PRは本人扱い

Routineが起こすコミットやPRは接続済みGitHub identity / connectors経由で行われ、本人のアカウントとして記録されます。社内ガバナンス的には「自動でも自分の名前が付く」点を意識する必要があります。

6. green statusはインフラ正常を意味するだけ

Routineのrun status「green」はinfrastructure errorがなかったという意味で、promptのタスクが期待通り完了したことを保証するものではありません。実際にPR / 出力を確認する運用が必要です。

7. minimum schedule intervalは1時間

「30分おきに走らせたい」というニーズには応えられません。それより短い周期が必要なら /loop(ローカル / セッション内)GitHub Actions cron(5分以上)Desktop scheduled tasks(1分以上)を検討します。

8. APIはresearch preview

anthropic-beta: experimental-cc-routine-2026-04-01 ヘッダが必須で、将来のヘッダ更新(2つ前まで動作保証)あり。productionで使う場合は記事公開時のヘッダー値を本記事末の出典URLから最新確認することをおすすめします。

APIエラーコード(参考)

HTTPerror type主な原因
400invalid_request_errorbeta header欠落 / text > 65,536文字 / routineがpaused
401authentication_errortoken不一致
403permission_errorアカウントがendpointアクセス不可
404not_found_errorroutine不在
429rate_limit_errordaily / usage limit到達(Retry-After付き)
500api_errorサーバエラー
503overloaded_error一時過負荷

まとめ

Claude Code Routinesは「ローカルPCを立ち上げなくても、決まったトリガーでClaude Codeが自律的に動く」クラウドベースの自動化機構です。GitHub Actions cronとの一番の違いは「Claudeのセッション(Skills / MCP / context)を丸ごと再現できる」点で、レビュー / 修正PR / docs drift検出のようなAI判断を伴う繰り返し作業に強みがあります。

最小1時間の制約があるため、より短い周期の自動化や、ローカル環境への直接アクセスが必要な作業はDesktop scheduled tasksや /loopを併用するのが王道です。

実運用での組み込み方は、本サイトのメディア運営記で扱うauto-merge botとの組み合わせや、Hooks実例カタログで扱う SubagentStop 通知などと相性が良いです。RoutinesがPRを作る → Hooksで通知 → 朝確認 → マージ、という24時間自走パイプラインが組めます。

仕様はresearch previewのため、運用前に必ず公式docsを確認してください。

この記事を共有:XLinkedIn