Expose scheduled task run status (success/error/skipped) in list_scheduled_tasks API

Resolved 💬 2 comments Opened Mar 26, 2026 by rmcoppersmith Closed Apr 25, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Scheduled tasks in Cowork track run status (success, error, skipped) — the UI displays warning icons for errors and a skipped label for skipped runs. But the list_scheduled_tasks API only returns lastRunAt with no status field.

This makes it impossible to programmatically detect failed or skipped task runs. My use case: I want to build a self-healing morning routine — a task (or SessionStart hook) that checks if any scheduled tasks failed the previous day and automatically reruns them.

Currently the only workaround is cross-referencing list_sessions with read_transcript — an empty transcript indicates an error, and a missing session indicates a skip. This is fragile and indirect compared to a single field on the existing API.

Note: This issue was created on my behalf by Cowork directly, based on a conversation where we investigated the feasibility of auto-retrying failed scheduled tasks.

Proposed Solution

Add a lastRunStatus field to the list_scheduled_tasks response:

{
  "taskId": "daily-newsletter-briefing",
  "lastRunAt": "2026-03-25T11:04:44.424Z",
  "lastRunStatus": "success"
}

Possible values: "success", "error", "skipped".

Bonus: a runHistory array with the last N runs would enable trend analysis and reliability tracking:

"runHistory": [
  { "runAt": "...", "status": "success", "sessionId": "local_..." },
  { "runAt": "...", "status": "error", "sessionId": "local_..." },
  { "runAt": "...", "status": "skipped" }
]

This would unlock auto-retry flows, health dashboards, alerting on failures, and self-healing task chains.

Alternative Solutions

_No response_

Priority

Critical - Blocking my work

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗