Skip to content

/ship Step 19: gh pr edit fails on repos with deprecated GraphQL Projects classic fields #1079

Closed

Description

@earino

On some accounts/repos, gh pr edit issues a GraphQL query that still references repository.pullRequest.projectCards (a deprecated Projects-classic field) and hard-errors with:

GraphQL: Projects (classic) is being deprecated in favor of the new Projects experience, see: https://github.blog/changelog/2024-05-23-sunset-notice-projects-classic/. (repository.pullRequest.projectCards)

Repro: on a repo where this deprecation is enforced, run /ship on a feature branch that already has an open PR. Step 19 (PR body update) fails.

Workaround: the REST API path works reliably and is simpler:

gh api -X PATCH repos/owner/repo/pulls/N -F body=@body.md -f title="..."

Fix suggestion: swap gh pr edit → gh api -X PATCH in /ship Step 19 for existing-PR updates. Same for gh pr create in the no-existing-PR path — gh api -X POST repos/owner/repo/pulls avoids the GraphQL path entirely.

Environment: gh CLI 2.x, observed on earino/resumasher during /ship on branch feat/v0.2-analytics with PR #4 already open. The gh api REST fallback resolved the same operation in the same workflow with no changes to payload.

Activity

  1. time-attack commented on Jul 15, 2026

    @time-attack
    Contributor

    @earino Existing pull requests still use gh pr edit, so repositories with deprecated Projects classic fields continue to fail.

  2. garrytan commented on Aug 15, 2026

    @garrytan
    Owner

    Fixed in fork-port wave 2: /ship now falls back to the GitHub REST API when gh pr edit trips the Projects-classic GraphQL deprecation, so the PR-body update step completes on repos with deprecated classic Projects fields.

    Commit: 5b7b39e6 fix(ship): REST fallback when gh pr edit hits the Projects-classic GraphQL deprecation (#1079)
    Pinned by: the regenerated ship goldens (test/fixtures/golden/*-ship-SKILL.md via test/parity-sectioned.test.ts)

    Ships in #2577 (v1.65.0.0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions