Claude Codeのスケジュール管理ツールを作った
普段は会社員として仕事をしながら、個人で色々と作っていると、Claude CodeのMax (5x) をほぼ使い切れずに、1週間が経ってしまう。
常々勿体無いなーと思い、色々と試してはいたけれど、いい感じの使い方をできていない。
そんな中考えたのが、ある程度全体ができているwebアプリやiOSアプリなどの改善を定期実行でローカルでやってもらうということ。
自分が寝ている間などでも、Macを起動しておいて、1時間ごとにタスクを実行するようにすれば、Claudeのトークン枠を無駄にすることなく活用できる。
cronが最初に思いついたのだけど、Claude Codeを使って作っている中で launchd というmacOSの仕組みを知ったのでそれを使う。
cron
純粋に時刻ベースのスケジューリングに特化しており、PCがスリープしていた時間帯のジョブは基本的にスキップされる。
launchd
時刻だけでなく、ログイン時、ファイル変更時、ネットワーク状態の変化など、さまざまなトリガーに対応している。スリープ中に実行できなかったジョブも、復帰時に自動で実行してくれる。
定期実行される仕組み自体は簡単に作れるが、以下のような問題があった。
そもそも何を定期実行しているのかがよくわからない。
定期実行するものの数が増えてきたときに管理ができない。なので、これらの悩みを解決できるように、ローカルにwebアプリを起動して、定期実行タスクを管理できるツールを作った
https://github.com/t2421/claude-schedule-management
ブラウザでジョブを一覧・作成・編集
中身は macOS ネイティブの launchd を直接操作
ジョブは YAML が source of truth。UI は YAML を編集する薄いラッパー
全部 localhost、テレメトリゼロ、依存もほぼ標準ツールのみ



これで定期実行のジョブの一覧を管理できるようになった。
今は適切なパーミッションモードでClaudeを立ち上げないと、場合によってはやろうと思っていたことができないケースがある。
例えば、Gitへのプッシュを拒否する設定になっていると、その処理がスキップされてしまう。 また、Claudeから追加の質問(プロンプト)が発生した場合は、処理が停止してしまうという課題もある。
まだまだ、荒削りではあるけれど、単純なコードのリファクタリングやe2eテストなどではうまく使えると思うので、トークンの無駄をなくすべく使っていきたい
20260610 追記:
- タスクごとに異なるモデルを使用できるようにした (Fable 5も追加)
- タスクごとにClaude, codex, geminiをそれぞれ選べるようにした
- 夜間だけ定期的に動かしたい時があったので、プリセットを追加した
