0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code スケジューリング完全ガイド — /loop コマンドと Desktop scheduled tasks

0
Last updated at Posted at 2026-03-09

Claude Code スケジューリング完全ガイド

はじめに

Claude Code に「スケジューリング」機能が追加されました。従来は手動で都度プロンプトを入力する必要がありましたが、2026年3月のアップデートで /loop コマンドDesktop scheduled tasks という2種類の自動化手段が整備されました。

この記事では、公式ドキュメントをもとに両機能の仕組み・使い分け・実用ユースケースを整理します。

この記事で学べること

  • /loop コマンドによるセッション内定期実行の使い方
  • CronCreate / CronList / CronDelete ツールの直接操作
  • Desktop scheduled tasks の設定方法と制約
  • デプロイ監視・PR自動レビュー・朝のブリーフィングなどの実用例

対象読者

  • Claude Code を日常的に使っているエンジニア
  • 繰り返し作業を自動化したい開発者
  • エージェント型ワークフローを構築したい方

TL;DR

  • /loop はセッション内の定期実行。端末を閉じると消える。素早いポーリングに最適
  • Desktop scheduled tasks はアプリ再起動後も残る永続スケジュール。macOS/Windows のみ
  • どちらも MCP サーバー・スキル・プラグインに完全アクセスできる
  • Linux は /loop か GitHub Actions で対応する

/loop と Desktop scheduled tasks の比較

2種類のスケジューリング方式

Claude Code のスケジューリングは目的に応じて2種類が用意されています。

特徴 /loop(CLI) Desktop scheduled tasks
永続性 セッション内のみ アプリ再起動後も維持
対応OS 全OS macOS / Windows のみ
設定方法 テキストコマンド GUI サイドバー
ユースケース デプロイポーリング・一時的な監視 朝次のブリーフィング・週次レポート
有効期限 セッション終了まで(最大3日) 削除まで

/loop コマンド — セッション内定期実行

基本的な使い方

/loop コマンドは最もシンプルにスケジューリングを開始する方法です。インターバルとプロンプトを渡すだけで、Claude がバックグラウンドで定期実行します。

/loop 5m check if the deployment finished and tell me what happened

このコマンドを実行すると、Claude は5分ごとにデプロイ状態を確認し、結果を報告します。cron 式の知識は不要で、自然言語でインターバルを指定できます。

インターバルの指定方法

インターバルは先頭・末尾・省略の3通りで指定できます。

記法 解釈
先頭トークン /loop 30m check the build 30分ごと
末尾 every /loop check the build every 2 hours 2時間ごと
省略 /loop check the build デフォルト:10分ごと

単位は s(秒)・m(分)・h(時間)・d(日)に対応しています。秒は cron の粒度上、最小1分に切り上げられます。また 7m90m のように単位に割り切れない値は、最も近いきりの良いインターバルに丸められ、Claude が採用した値を通知します。

別のコマンドをループさせる

スケジュールするプロンプト自体を別のコマンドやスキルにすることもできます。

/loop 20m /review-pr 1234

これにより、20分ごとに /review-pr 1234 が自動的に呼び出されます。

1回限りのリマインダー

繰り返しではなく1回だけ実行したい場合は、自然言語で時刻を指定します。

remind me at 3pm to push the release branch
in 45 minutes, check whether the integration tests passed

Claude が指定時刻に対応する cron 式を生成し、タスクが何時に実行されるかを確認してくれます。


/loop コマンドの処理フロー

CronCreate / CronList / CronDelete — 直接操作

/loop の裏側では3つのツールが動いています。自然言語ではなく、より細かい制御が必要な場合に直接使用できます。

ツール 役割
CronCreate 新しいタスクを登録。5フィールドの cron 式・プロンプト・繰り返し設定を受け取る
CronList 登録済みタスクの一覧(ID・スケジュール・プロンプト)を表示
CronDelete タスク ID を指定してキャンセル

各タスクには8文字の ID が割り当てられます。1セッションに最大50タスクまで登録できます。

タスクの管理

自然言語で管理することも可能です。

what scheduled tasks do I have?
cancel the deploy check job

cron 式リファレンス

5フィールド形式(分 時 日 月 曜日)の標準 cron 式を使用します。

意味
*/5 * * * * 5分ごと
0 * * * * 毎時0分
7 * * * * 毎時7分
0 9 * * * 毎日9時(ローカル時刻)
0 9 * * 1-5 平日の9時(ローカル時刻)
30 14 15 3 * 3月15日 14:30

すべてのフィールドでワイルドカード(*)・単値(5)・ステップ(*/15)・範囲(1-5)・カンマ区切り(1,15,30)が使えます。時刻はすべてローカルタイムゾーンで解釈されます。

ジッター(実行時刻のずれ)について

同じ時刻に多数のセッションが API を叩かないよう、スケジューラーは少量の確定的オフセットを追加します。

  • 繰り返しタスク:周期の最大10%(上限15分)遅れて実行
  • 1回限りタスク(毎時0分・30分):最大90秒早く実行

精密なタイミングが必要な場合は 0 9 * * * ではなく 3 9 * * * のように0分・30分を避けると、ジッターの影響を受けません。


Desktop scheduled tasks — 永続スケジュール

セッションを超えて動き続ける

/loop はセッションを閉じると消えますが、Desktop scheduled tasks は Claude Desktop アプリが起動していれば再起動後も有効です。macOS と Windows で利用でき、GUI で視覚的に管理できます(Linux は非対応)。

セットアップ

  1. サイドバーの「Schedule」をクリック
  2. + New task を選択
  3. 以下の項目を設定:
項目 内容
Name タスク名(ケバブケースに変換される)
Description 概要説明
Prompt 毎回実行される指示内容
Frequency Hourly / Daily / Weekdays / Weekly / Manual

Daily を選ぶと時刻ピッカーが表示され、デフォルトは午前9時(ローカル時刻)です。

タスクのプロンプトは ~/.claude/scheduled-tasks/<task-name>/SKILL.md に保存されるため、テキストエディタで直接編集することもできます。

見逃し補填(キャッチアップ)

コンピューターがスリープしてタスクの実行時刻を逃した場合、アプリを開いた際に過去7日間の未実行分を検索し、最も直近の1回分だけ実行します。

初回実行時の権限設定

各タスクは独自の権限モードを持ちます。作成直後に一度手動実行してツールの承認を行うと、以降の自動実行では確認ダイアログなしで動作します。


Desktop scheduled tasks アーキテクチャ

実用ユースケース

1. デプロイ監視(/loop)

CI/CD パイプラインを実行中にターミナルで待機しながら使います。

/loop 5m check if the deployment finished and tell me what happened

デプロイ完了を検知したら結果を報告し、問題があれば詳細を伝えてくれます。

2. PR の継続レビュー(/loop)

/loop 20m /review-pr 1234

パッケージングされたレビュースキルを定期的に呼び出します。

3. エラーログ監視(Desktop scheduled tasks)

MCP サーバーでログ API に接続した状態で Hourly(毎時)で設定します。

エラーログを確認して修正可能なバグを特定し、自動的に PR を作成してください。
ただし重大なエラーは修正前に通知してください。

4. 朝のブリーフィング(Desktop scheduled tasks)

平日 7:30 に設定する例です。

今日の予定と昨夜のSlackの未読メッセージを確認して、
優先対応が必要なものをまとめてください。
結果は ~/morning-brief.md に書き出してください。

Slack・Google Calendar・ファイル操作の MCP サーバーを接続しておくと、すべてが連携して動きます。

5. 週次の依存関係監査(Desktop scheduled tasks)

毎週月曜 9:00 に設定します。

npm audit を実行して修正可能な脆弱性があれば PR を自動作成してください。
既存の audit PR があれば新規作成はスキップしてください。

制約と注意点

セッションスコープ制約(/loop)

  • Claude Code が動作中かつアイドル状態のときのみ実行される
  • ターミナルを閉じると全タスクがキャンセルされる
  • 繰り返しタスクは作成から3日後に自動削除される
  • 見逃しのキャッチアップなし(Claude が処理中に到達した場合、アイドル後に1回実行)

Desktop scheduled tasks の制約

  • macOS / Windows のみ(Linux 非対応)
  • アプリが開いていてコンピューターが起動している必要がある
  • 各実行は独立したセッションとしてカウントされ、利用制限に影響する
  • Pro プランは利用量上限があるため、実行頻度の設定に注意が必要

スケジューラーの無効化

環境変数 CLAUDE_CODE_DISABLE_CRON=1 を設定すると、cron ツールと /loop が完全に無効化されます。

Linux ユーザーへの代替手段

Desktop scheduled tasks が非対応の Linux 環境では、以下の方法が使えます。

  • /loop コマンド(セッションスコープ)
  • OS の cron で claude -p をヘッドレス実行する
  • GitHub Actions の schedule トリガー

まとめ

Claude Code のスケジューリング機能は、定期的な確認作業や繰り返しレポート生成を AI エージェントに委任する手段を提供します。

  • /loop は素早く一時的なポーリングに最適。デプロイ待機中にそのまま使える
  • Desktop scheduled tasks は朝次のブリーフィングや週次レポートなど、長期的な定期タスクに向く
  • どちらも MCP サーバー・スキル・プラグインと連携し、ファイル読み書き・外部 API 呼び出し・Slack 通知まで一通りこなせる

特に Desktop scheduled tasks と MCP サーバーの組み合わせは、ローカル環境で動くエージェントワーカーとして実用的な自動化を実現します。GitHub Actions のような外部サービスに依存せず、手元のマシンで完結できる点が特徴です。

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?