コンテンツにスキップ
Zenn Launchd Traps Claude Code Automation

macOS で Claude Code の自動化を24/7回すと踏む launchd の罠5つ

  • URL: https://zenn.dev/bokuwalily/articles/launchd-traps
  • 日付: 2026-06-15
  • Tier: Tier 2
  • 要旨: macOS で Claude Code 関連スクリプトを launchd で24時間自動実行する際に踏む罠を5つ整理した記事。cron が modern macOS で動かないこと・PATH 問題・timeout コマンド非存在・StartCalendarInterval の構文制限などを実測と回避策つきで解説する。

詳細

罠5つの概要:

  1. cron は modern macOS(Sequoia以降)で実質動いていない。launchd に移行が必要
  2. StartCalendarInterval*/5 形式は使えない。周期実行は StartInterval(秒数)、特定時刻は配列で並べる
  3. GUIから起動した子プロセスは ~/.zshrc を読まず最小PATH(/usr/bin:/bin等)しか持たない。~/.claude/settings.jsonenv.PATH/opt/homebrew/bin を含める
  4. macOS は GNU coreutils の timeout を非搭載。Homebrew で coreutils をインストールして gtimeout を使う 5.(記事では5件紹介しているが本文途中でカット)

launchdLabelcom.you.name 形式(ドットなしは拒否)、ProgramArguments は配列必須、StandardOutPath/ErrorPath を絶対パスで明示しないと出力が /dev/null に消える。