Skip to content

Scheduled tasks don't run when desktop app is closed — only fire on next app launch #44128

Description

@AppMogLabs

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Summary

Scheduled tasks (cron-based) created via Cowork do not execute at their scheduled times if the Claude Desktop app is not running. Instead, all pending tasks queue up and fire simultaneously the moment the app is next launched.

Steps to Reproduce

  1. Create recurring scheduled tasks in Cowork (e.g., daily cron at 5:30 AM)
  2. Close the Claude Desktop app (or let it auto-quit after the 5-minute idle timeout)
  3. Wait past the scheduled execution time
  4. Open the Claude Desktop app

Expected Behavior

Scheduled tasks should run at their configured cron times regardless of whether the desktop app is open. These are server-side scheduled tasks — they should not depend on the client app being active.

Actual Behavior

Tasks do not run while the app is closed. Upon opening the app, ALL pending tasks fire simultaneously. Evidence from my task list:

  • ai-dev-daily-brief (scheduled ~5:38 AM) — lastRunAt: 2026-04-06T06:26:23.505Z
  • ai-war-brief (scheduled ~5:07 AM) — lastRunAt: 2026-04-06T06:26:23.524Z

Both tasks ran within 19ms of each other, clearly triggered by app launch rather than at their scheduled times.

Why This Matters

Combined with the 5-minute idle auto-quit (see #23092), this makes scheduled tasks essentially unusable for their intended purpose. There is no reliable way to keep the desktop app open long enough for scheduled tasks to fire, and the tasks won't run without it. This defeats the entire value proposition of scheduled/recurring tasks.

Environment

  • Claude Desktop (latest version)
  • Cowork mode (research preview)
  • macOS

What Should Happen?

Scheduled tasks should run at their configured cron times regardless of whether the Claude Desktop app is open. These are scheduled tasks — they should execute server-side and not depend on the client app being active.

Error Messages/Logs

Steps to Reproduce

  1. Create recurring scheduled tasks in Cowork (e.g., daily cron at 5:30 AM)
  2. Close the Claude Desktop app (or let it auto-quit after the 5-minute idle timeout)
  3. Wait past the scheduled execution time
  4. Open the Claude Desktop app
  5. Observe that ALL pending tasks fire simultaneously on app launch, rather than having run at their scheduled times

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

Latest (Claude Desktop with Cowork)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Combined with the 5-minute idle auto-quit (see #23092), this makes scheduled tasks essentially unusable for their intended purpose. There is no reliable way to keep the desktop app open long enough for scheduled tasks to fire, and the tasks won't run without it.

Evidence from task list showing both tasks fired simultaneously on app launch instead of at scheduled times:

  • ai-dev-daily-brief (scheduled ~5:38 AM) — lastRunAt: 2026-04-06T06:26:23.505Z
  • ai-war-brief (scheduled ~5:07 AM) — lastRunAt: 2026-04-06T06:26:23.524Z

Both ran within 19ms of each other, clearly triggered by app launch rather than at their scheduled times.

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions