Routines list shows the normalized task id, not the routine's label/description

Open 💬 0 comments Opened Jun 21, 2026 by ftirelo

Summary

In the Routines / Scheduled-tasks list (Claude desktop app 1.14271.0), the list title is derived from the task id by replacing every - with a space and capitalizing the first letter. A routine whose human label (SKILL.md description) is Auto-improve / lift-api therefore appears in the list as "Auto improve lift api". The intended label shows correctly only in the detail pane.

Steps to reproduce

  1. Create a scheduled task with id auto-improve-lift-api and frontmatter description: Auto-improve / lift-api.
  2. Open the Routines list.

Expected

The list shows the human-readable description (the same label shown in the detail pane), or some settable display name.

Actual

  • List: "Auto improve lift api"
  • Detail pane: "Auto-improve / lift-api" (correct)

Root cause (from the app bundle)

  • List title ≈ id.replace(/-/g, " ").replace(/^./, c => c.toUpperCase()).
  • Task ids are sanitized to /^[a-z0-9_-]+$/ — no /, and every - is flattened to a space at render time.
  • scheduled-tasks.json stores no display-name field, so there is nothing to override the list title with. The description from SKILL.md is read for the detail pane but not used for the list.

The net effect: there is no way to make the list show a /-and-hyphen label, because the only string the list renders is the normalized id.

Suggested fix

Either:

  • Have the list prefer the SKILL.md description (already surfaced in the detail pane), or
  • Add an optional title / displayName field to the scheduled-task schema and render that in the list when present.

View original on GitHub ↗