
定期作業自動化:Claude Codeの/loopとClaude Desktop App(Cowork)の/scheduleを比較してみた
はじめに
最近の Claude Code v2.1.71 アップデート で、新たに /loop という機能が追加されました。これまではCI/CDの進行状況などをClaudeに定期的に確認させる場合、うまくやりくりする必要がありましたが、セッション内で使える公式のcron job機能である /loop が登場したことで非常に便利になりました。
また、Claude Desktop App (Cowork) にも既に /schedule 機能が備わっています。今回はこれら2つの定期作業機能を試し、どのような違いがあるのかを比較してみます。
検証環境
- macOS Sequoia 15.7.1
- Claude Code v2.1.71
- Claude(Desktop App) v1.1.5368
Claude Code /loop
公式ドキュメント: Claude Code /loop は英語なので、コマンドの間隔指定には every などの表現が使われていますが、実は「x分毎に」のような日本語の表現でも問題なく通じます。
/loop {x s/m/h/d} {指示}
/loop {指示} every {x s/m/h/d}
上記のように、英語と日本語の両方でテストし、正しく動作することを確認しました。
それ以外にも、以下のコマンドで定期作業を確認したり、取り消したりすることができます。
/loop list:設定されている定期作業の一覧を確認する/loop cancel:設定されている定期作業を取り消す







Recurring tasks automatically expire 3 days after creation. The task fires one final time, then deletes itself. This bounds how long a forgotten loop can run. If you need a recurring task to last longer, cancel and recreate it before it expires, or use Desktop scheduled tasks for durable scheduling.
注意点として、Claude Codeの /loop で設定した定期タスクは最長3日間で自動的に有効期限が切れます。長期的な定期作業を行いたい場合は、期限が切れる前に再度作り直すか、後述するDesktop版のSchedule機能を使用するように案内されています。
Claude Cowork 上の定期作業
Desktop版で定期作業を設定するには、主に2つの方法があります。
macOSの場合は、事前にClaudeの通知を有効(allow)にすることで、定期作業の通知が気づきやすくなります

方法1:UIから設定する(Scheduled -> New Task)
- Claude Desktop AppのCoworkにある
Scheduledボタンを押します。 + New taskボタンをクリックし、新しいタスクを作成します。(Manualモードを選択される場合は、Run nowで発火する必要があります)


方法2:チャットから /schedule コマンドで設定する
"New Chat" を開き、以下のコマンドで指示を出します。
/schedule {指示}
そして、Scheduleボタンを押せば、定期作業は設定されます。




注意点
Desktop版のSchedule機能を利用する際、いくつか気をつけるポイントがあります。
- UI上での最短指定期間は「時間(h)」 となっており、秒(s)や分(m)単位での指定はできません。
- Frequencyで
Manualを選択した場合、自動では実行されず都度Runボタンを押して発火させる必要があります。 - 細かく時間を指定したい場合は、UIを使わずにチャット画面から
/schedule {指示}コマンドを利用する方が詳細な設定ができるため、個人的にはこちらを推奨します。
また、定期作業を自動で走らせ続けるためには、Claude Desktop Appを常に起動しておく必要があります。もしアプリを閉じていて実行タイミングを逃してしまった場合について、公式ドキュメント(Use Claude Code Desktop)には以下のように記載されています。
When the app starts or your computer wakes, Desktop checks whether each task missed any runs in the last seven days. If it did, Desktop starts exactly one catch-up run for the most recently missed time and discards anything older.
つまり、アプリが閉じられていた間にスキップされた定期作業があっても、次回起動時に直近1回分のみ自動で発火(catch-up) されます。
/loop と /schedule の比較まとめ
これまでの検証と公式Docの説明をもとに、2つの機能の違いを表にまとめました。
| 比較項目 | Claude Code /loop |
Claude Cowork /schedule |
|---|---|---|
| 実行環境 | ターミナル(CLI)専用 | Claude Desktop App専用 |
| ライフタイム(有効期間) | 最長3日間(自動で期限切れ) | 無期限(削除や一時停止するまで継続) |
| セッションの維持 | セッションが閉じられると無効になる | アプリを再起動しても設定が維持・再開される |
| Missed runs(未実行分の扱い) | スキップされ、補填実行はされない | 次回起動時に、直近スキップされた1回分のみ発火する |
おわりに
ターミナル内で完結する一時的・短期的なポーリング(デプロイの監視など)には /loop を、長期間にわたる永続的な自動化タスクには /schedule を使うといったように、用途に応じて使い分けるのが良さそうです。
AIエージェントがただプロンプトに答えるだけでなく、能動的にスケジュール実行してくれるのは非常に強力ですので、ぜひ2つの機能を活用してみてください。







