Routines: GitHub pull_request.opened trigger never fires for a draft pull request, even with an "Is draft = true" filter

Status Open
Reported on v2.1.293
Maintainer reply None cached
Activity 0 comments · opened Oct 9, 2026

What's Wrong?

A routine's GitHub trigger on Pull request: Opened starts a run when a pull request is opened ready for review, but never when one is opened as a draft. Adding the filter Is draft equals true doesn't help. The routines documentation doesn't say drafts are skipped, and the trigger form offers an "Is draft" filter that, on opened, can then never match.

Same routine, same private repository and same Claude GitHub App installation throughout, tested on 2026-10-08 (all times UTC):

| Opened at | Opened as | Trigger filters | Run created |
| --- | --- | --- | --- |
| 21:04:34 | draft | Base branch is one of main | none |
| 21:10:00 | draft | none | none |
| 21:12:33 | draft | none, plus a second trigger created through the routines API (14ecd25f-9ad5-4b4d-a6ed-fe085698e6b2) | none |
| 21:24:47 | ready for review | none | yes, at 21:24:49 |
| 21:29:53 | draft | Is draft equals true | none |

Everything else is ruled out:

  • the app is installed on the repository and authorized;
  • claude.ai acts on GitHub as the same user that installed it;
  • the ready pull request fired within two seconds;
  • Run now and the API trigger start runs every time.

What Should Happen?

Opening a draft pull request fires a pull_request.opened trigger, at least when its filter asks for drafts. If drafts are deliberately excluded, the documentation should say so, and the "Is draft" filter shouldn't be offered where it can never match.

Steps to Reproduce

  1. Create a routine with a GitHub trigger on Pull request: Opened for a repository where the Claude GitHub App is installed, with no filter.
  2. Open a pull request as a draft: no run appears in the routine's history.
  3. Open another pull request ready for review: a run starts within seconds.
  4. Add the filter Is draft equals true and open another draft: still no run.

Additional Information

  • Routine: trig_01HGB7R2TPGd4qmFhFDpiYP6
  • Probably the same cause as #99640, a draft pull request's edited event with draft=true not starting a routine.
  • Claude Code 2.1.293. The routine and its first trigger were created from the Routines tab of the Claude Code desktop app; the second trigger was added through the routines API.

View original on GitHub ↗