Persimmoq AI Academy
Claude CoderoutineAIエージェント自動化Managed Agents2026

Claude Code の routine で「寝ている間に働く AI 部下」を作る — 仕組み・設定・つまずき

約3分で読めます

Claude Code には、クラウドで cron 実行されるエージェント(routine)があります。ノート PC を閉じていても、指定した時刻に Anthropic 側のサンドボックスでセッションが立ち上がり、GitHub のリポジトリを clone し、Slack や Gmail に書き込んで終了します。追加のサーバーも新しいツールも要りません。

この記事は、それで「毎朝 9 時に公式ドキュメント 12 ページの差分を読み、要約を Slack に投稿し、本や記事に影響があれば下書きまで GitHub に push する」部下を作った記録です。作った理由は、Claude API の本を書いているのに、Haiku 5.5 の公開に 5 日間気づかなかったからです。監視スクリプトは手元の Mac で毎朝動き、Slack に通知も出ていました。読む人がいなかっただけでした。

2026 年 10 月 16 日時点の仕様です。

routine でできること、できないこと

  • 5 フィールドの cron(UTC)か 1 回限りの日時で起動。最小間隔は 1 時間
  • 指定した GitHub リポジトリを clone した状態で始まる。ローカルのファイルや環境変数には触れない
  • claude.ai で接続した MCP コネクタ(Slack、Gmail など)が使える。Claude Code 側だけで設定した MCP サーバーは使えない
  • モデル・使えるツール・プロンプトを 1 つの JSON で指定する。プロンプトは毎回ゼロから読まれるので、それだけで完結させる
  • 作成・更新・手動実行・実行ログの取得は API から。削除だけは Web

設計の要点は「AI にやらせない部分」

差分の検出は Python、判断と文章は AI、公開は人。この分担にしました。

「12 ページを読んで変わったところを探せ」とモデルに頼むと、毎朝 30 万字を読むことになり、遅く、見落とし、費用もかさみます。小さなスクリプトが unified diff を作り、モデルはそれだけを読む。これで 1 回 1 分以内に収まります。

公開もさせません。影響の大きい変更のときは Zenn 記事の下書きを書かせますが、末尾に「手元で確認したこと」という空欄を残し、人が実 API で確かめてから埋めて公開します。プロンプトには「テストしたと書くな」と明記しています。

設定

cron は UTC なので、日本の 9 時は 0 0 * * *。モデルは Sonnet 5.5 で足ります。

{
  "name": "claude-docs-watch 毎朝 9 時",
  "cron_expression": "0 0 * * *",
  "job_config": {"ccr": {
    "environment_id": "env_…",
    "session_context": {
      "model": "claude-sonnet-5-5",
      "sources": [{"git_repository": {"url": "https://github.com/volvox-ltd/claude-docs-watch"}}],
      "allowed_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep",
                        "mcp__Slack__slack_send_message", "mcp__Slack__slack_search_channels"]},
    "events": [{"data": {"type": "user", "message": {"role": "user", "content": "<手順書>"}}}]}},
  "mcp_connections": [{"name": "Slack", "url": "https://mcp.slack.com/mcp"}]
}

手順書は 7 ステップです。最新を pull する → 差分スクリプトを実行する → 変更がなければログに 1 行追記して Slack に 1 行投稿して終わる → 変更があれば差分を読み、ページごとに「何が変わったか」「本や記事への影響」を日本語で書く → ログと Slack に投稿する → 影響が大きければ下書きを drafts/ に置く → commit して push する。全文は Zenn の記事に載せています。

初日に起きたこと

1 回目(23 秒)。 差分なし、ログ追記、push まで成功。Slack 投稿で channel_not_found。エージェントはチャンネル検索でも見つからないと判断し、代わりにスマホへプッシュ通知を送って終了しました。原因は claude.ai の Slack コネクタが別のワークスペースに繋がっていたこと。

2 回目(51 秒)。 Slack 投稿は成功。push が拒否されました。クラウド側の checkout が 1 回目より古かったためで、エージェントは git pull --rebase して自分のコミットが重複だと確認し、捨てて終了しました。手順書の先頭に pull を足して解決。

つまずいた 3 点

  1. GitHub App は組織に入れる。 claude.ai で GitHub を接続しただけでは、組織の非公開リポジトリは repo_access_denied。github.com/apps/claude を組織にインストールしてリポジトリを許可する
  2. コネクタは 1 ワークスペース。 複数の Slack を使っていると違うほうに繋がっていることがある。チャンネルは ID で指定する
  3. checkout は毎回まっさらではない。 push する routine は最初に pull する

つまずくのは権限と接続先で、プロンプトではありませんでした。

費用と、同じ仕事の 3 つの作り方

routine の実行は定額プランの利用枠で動き、筆者の環境では追加の API 請求は出ていません。変更がない日で数千トークンです。

Claude Code routineManaged Agentslaunchd / cron + API
動く場所Anthropic のクラウドAnthropic のクラウド自分のマシン
設定JSON 1 つAgent + Deploymentplist + スクリプト
料金プランの枠内トークン + セッション時間 $0.08/hAPI トークンのみ
向く仕事リポジトリとコネクタで完結する定期作業実行環境ごと預けたい長時間の作業手元のファイルや認証情報が要る作業

Managed Agents で同じ考え方を本番向けに組む方法は、Claude Managed Agents 実践ガイドに書いています。設定 JSON とプロンプトの全文、実行ログは Zenn の記事に載せました。

動くコードと一緒に、体系的に学びたい方へ

WRITTEN BY

須山 真怜

須山 真怜

有限会社ボルボックス/株式会社good umbrella代表

多拠点経営・私設図書館運営。非エンジニアとしてAIを実務に活かすべく奮闘中。

よくある質問

QClaude Code の routine とは何ですか?
cron(UTC)か指定日時で、Anthropic のクラウドに Claude Code のセッションを起こす機能です。GitHub リポジトリを clone した状態で始まり、claude.ai で接続した Slack や Gmail のコネクタを使えます。最小間隔は 1 時間で、ローカルのファイルには触れません。
Q費用はかかりますか?
Claude の定額プラン(Max / Team)の利用枠で動きます。筆者の環境では追加の API 請求は出ていません。変更がない日の実行で数千トークン程度です。プランごとの扱いは公式の料金ページで確認してください。
QManaged Agents と何が違いますか?
routine はリポジトリとコネクタで完結する定期作業向けで、設定は JSON 1 つです。Managed Agents はツール実行環境ごと Anthropic に預ける長時間のエージェント向けで、トークンに加えてセッション時間の課金があります。
SHARE

Claude API・AI エージェント開発の実践書

『Claude 5 世代 移行ガイド』『Claude Managed Agents 実践ガイド』を Zenn で販売中。全サンプルコードを GitHub で公開、冒頭の章は無料で読めます。

書籍を見る→
✓ 冒頭の章は無料✓ サンプルコード公開✓ 2026 年 10 月の公式仕様準拠