/schedule: 'Run now' fails on both CLI (RemoteTrigger run action) and web UI
Summary
Triggering an on-demand run of an existing routine fails through both the RemoteTrigger tool (action: "run") and the web UI's Run now button. The routine itself is healthy and continues to fire on its cron schedule — only the manual-run path is broken.
Reproduction
- Create any routine via
/schedule(e.g., a recurring agent oncron_expression: "15 */2 * * *") - Either:
- From within Claude Code: call
RemoteTriggerwith{action: "run", trigger_id: "<id>"} - From the web UI at https://claude.ai/code/routines/{id}: click Run now
Observed
CLI path — HTTP 400:
{"type":"error","error":{"type":"invalid_request_error","message":"trigger_id: Extra inputs are not permitted"}}
Tried with no body, with body: {}, and with various body shapes — all fail identically. get/update/create against the same trigger_id all succeed, so the routine ID is valid.
Web UI path — orange toast: "Failed to start run. You can try again." Retrying produces the same toast.
Expected
Either path should enqueue a one-off run of the routine.
Suspected cause
The validation error message trigger_id: Extra inputs are not permitted suggests the request body is being validated with a strict (extra=forbid) schema and trigger_id — which belongs only in the URL path POST /v1/code/triggers/{trigger_id}/run — is being inserted into the body as well, presumably by a shared serializer also used by get/update. Same root cause likely behind the web UI's silent toast.
Workaround
Wait for the next cron fire — the cron path is unaffected.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗