ScheduleWakeup(スケジュールウェイクアップ)

組み込みツール
ScheduleWakeup
スケジュールウェイクアップ
間隔を書かない /loop(同じ頼みごとを繰り返させる命令)で、Claudeが1回分の作業を終えるたびに「次は何分後に自分を起こすか」を決めて起床予約を入れる内部ツール。読者が直接叩くものではなく、私たちがやるのは間隔を書かない /loop を打つことだけ。次の予約を入れなければそこでループは終わる。

/loop で繰り返し作業をClaude Codeに任せたい人向け

料理ブログの予約投稿が時刻どおり公開されたかの見張りや、変更の取り込み依頼(PR)が片付くのを待つときに、間隔を書かない /loop を打って様子見を任せる場面で、その裏側で自動的に働く。読者がこのツール名を打ち込む場面はなく、間隔を書かない /loop を頼めばClaudeが勝手に呼んで、状況に応じて次の確認を1分〜1時間後のどこかに入れてくれる。

ScheduleWakeup は、間隔を指定しない /loop を走らせたときに、Claudeが「次は何分後に自分を起こすか」を毎回決めて予約するための内部ツールです。読者が直接叩くものではありません。公式ドキュメントにも you don't call it directly(あなたが直接呼ぶものではない)とはっきり書いてあります。

私たちがやることは1つだけ。間隔を書かない /loop を打つことです。あとは1回分の作業が終わるたびに、Claudeが裏でこのツールを呼んで「次の起床時刻」を入れてくれます。

噛み砕くと

たとえるなら、目覚まし時計を自分でセットし直す仕組みです。普通の /loop 5m ... は「5分ごとに必ず鳴る」固定タイマー。一方、間隔を書かない /loop は、起きるたびに状況を見て「まだ作業中だから10分後にもう一度起こして」「もう静かだから50分後でいい」と、次のアラームを自分で決め直すタイプです。

その「次のアラームを入れる」操作の名前が ScheduleWakeup。Claudeが眠る前に毎回これを呼んで、起床予約を1件だけ仕込みます。次の予約を入れなければ、そこでループは自然に終わります。

つまり読者から見ると、存在自体は意識しなくていい裏方です。

大事な前提:このツールが働くのは「間隔を書かない /loop」だけ

ここを取り違えると一生 ScheduleWakeup を見ることはありません。/loop 5m ... のように時間を書いて頼むと、それは決まった時刻表(cron)に変換された固定タイマーになります。Claudeが間隔を選び直す動きは起きません。

自分で間隔を決める動きが出るのは、時間を書かずに /loop 見てほしいこと と頼んだときだけ。この違いだけ頭に入れておけば十分です。

それと、この仕組み一式(スケジュール機能)はClaude Code v2.1.72以上が必要です。古いと /loop 自体が動きません。手元の番号は claude --version で確認できます。

「料理ブログの公開待ち記事が予約時刻に出たか」を例に、実際の流れを見る

具体的な場面で動きを追います。料理ブログで、新しいレシピ記事を「今夜21時公開」で予約投稿したとします。ちゃんと21時に表に出たか、出たあとリンク切れや画像抜けがないか、Claudeに様子を見にいかせたい。こういう「たまに確認、暇なら間隔を空ける」用途がまさに自分で間隔を選ぶ /loop の出番です。

ステップ1: 黒い画面で間隔を書かずに頼む

時間を書かないのが肝心です。私ならこう打ちます。

/loop 料理ブログの「ガパオライス」記事が公開URLで表示されているか確認して、画像抜けやリンク切れがあれば指摘して

時間を一切書いていないので、Claudeは「次いつ起きるか」を毎回自分で決めるモードに入ります。

ステップ2: 1回目の確認が走る(まだ20時台)

1回目はまだ公開前の時間帯。Claudeが該当URLを見にいって「まだ公開されていません」と報告します。状況を見て、次の起床を少し先に置きます。

ステップ3: 反復の終わりに次の起床を予約する

この「次は何分後に起こすか」を決めて仕込む瞬間に、裏で ScheduleWakeup が呼ばれています。範囲は1分後から1時間後まで。選んだ待ち時間とその理由が、1回分の終わりに画面へ表示されます。たとえばこんな文面です。

次の確認まで35分待ちます(公開予定の21時が近いため)

ステップ4: 公開時刻が近づくと間隔が縮む

ここで初心者がやりがちな勘違いを1つ。「間隔を選ぶ=適当に放置される」ではありません。逆です。公開直前など重要な局面では待ち時間が短くなり、何も起きていないときは長くなります。21時直前は「5分後にまた見ます」のように詰めてきます。

ステップ5: 公開を確認できたら報告する

21時を過ぎてレシピが無事表示されたら、Claudeが「公開を確認しました。画像3枚すべて表示、リンク切れなし」と返してくれます。

ステップ6: やることが尽きたら次の予約を入れずに終わる

公開も確認できて指摘事項もゼロ。タスクが明らかに片付いたと判断すると、Claudeは次の起床予約を入れません。予約が入らない=ループ終了です。止まったように見えても故障ではなく、これが正常な終わり方です。もちろん、自分から止めたいときは次の反復を待っている間に Esc を押せば、入っている起床予約が消えて二度と鳴りません。

つまり ScheduleWakeup は何をしてくれるのか

  • やってくれる: 間隔を書かない /loop で、1回分の作業ごとに「次は1分〜1時間のどこで起きるか」をClaudeが状況に応じて決め、起床予約を1件入れる
  • やってくれない: 読者が手で呼ぶこと。これは内部ツールで、私たちが叩くのは /loop の方だけ。1時間を超える待ちも選ばれない
  • 意味が薄い場面: /loop 5m ... のように時間を書いた固定タイマーのとき。この場合そもそも登場しません

使いどころ3シナリオ(具体題材で再現)

シナリオ1: 料理ブログの予約投稿を見張るとき

「今夜21時公開」のレシピ記事が、本当にその時刻に表へ出たかを確認したい。公開前は長めの間隔でたまに覗き、21時が近づくと自動で間隔が詰まり、公開確認まで張り付かずに済みます。私はこの「直前だけ濃く見る」挙動がいちばん便利だと感じています。

シナリオ2: 変更の取り込み依頼が片付くのを待つとき

公式が出している例がまさにこれです。1文字も変えずに引くと、こう頼みます。

/loop check whether CI passed and address any review comments

CIが動いている間は短い間隔で、PR(変更の取り込み依頼)が静かになったら長い間隔で、と自動で濃淡をつけてくれます。テストが回ってる最中だけ頻繁に見て、待ちが多いときは間引く。これが手動の固定タイマーより無駄が少ない理由です。

シナリオ3: 時間のかかる仕上げ処理の完了を待つとき

たとえば料理ブログ全記事の画像を一括で軽量化する処理を回し、終わったら教えてほしい場合。終わりそうな局面では短く、まだ先が長いときは長く、とClaudeが間隔を調整します。完了が確認できれば次の予約を入れずに自然終了。ずっと監視し続けて待ち時間を浪費しません。

初心者が踏みやすい落とし穴

  • 自分で呼ぼうとする。これは内部ツールで you don't call it directly と公式に明記。読者の操作は「間隔を書かない /loop を打つ」ことだけです
  • 間隔つきの /loop で待っても出てこない/loop 5m ... は固定タイマーなので、Claudeが間隔を選ぶ動きそのものが起きません
  • 待ち時間は1分〜1時間に収まる。「3時間後にまた見て」のような1時間超は選ばれません。それ以上空けたいなら一度止めて入れ直す形になります
  • 7日で自動的に終わる。間隔を選ぶループも、始めてから7日経つと自動終了します。長く回したいなら期限前に入れ直しが要ります
  • 止まった=壊れた、ではない。タスク完了が明らかなとき、Claudeは次の予約を入れずに静かに終えます。これは設計どおりの正常終了です
  • Esc で消えるのは待機中の起床予約。次の反復を待っている間に Esc を押すと、仕込まれた予約が消えてループは二度と鳴りません
  • 黒い画面を閉じると止まる。スケジュール機能はその会話が開いて空いている間だけ動きます。画面を閉じたり会話を新しく始めたりすると鳴らなくなります
  • Bedrock / Vertex AI / Microsoft Foundry では別の動き。これらの環境では間隔を書かない /loop が10分固定で走り、自分で間隔を選ぶ動きにはなりません
  • 繰り返しではなく Monitor に切り替わることがある。間隔を選ぶ /loop を頼むと、ClaudeがMonitorを選ぶ場合があります。何度も見にいくより効率がいいと判断したときの挙動です

書き方

ScheduleWakeup(Claudeが内部で呼ぶ。読者が打つのは間隔を書かない /loop の方)

やってみるとこうなる

入力

/loop check whether CI passed and address any review comments

出力例

次の確認まで35分待ちます(公開予定の21時が近いため)

このページに出てきた言葉

/loop
同じ頼みごとを繰り返しClaudeに実行させる組み込みの命令。後ろに見てほしいことを書いて使う
間隔を書かない /loop
<code>/loop 見てほしいこと</code> の形。時間を書かないので、Claudeが毎回の終わりに次の待ち時間を1分〜1時間で自分で決める
反復
ループの1回分の作業。「見にいく→確認する→報告する」のひとまとまり
cron
「毎日9時」「5分ごと」のような決まった時刻表で自動実行する昔からの仕組み。時間を書いた /loop はこれに変換される
Esc
キーボード左上のキー。次の反復を待っている間に押すと、入っている起床予約が消えてループが止まる
Monitor
裏でずっと見張って変化のあった行だけ流すツール。間隔を選ぶ /loop の代わりに選ばれることがある

関連項目

公式ドキュメント

https://code.claude.com/docs/en/scheduled-tasks

-

← 戻る