Docs say a PR from a linked branch is "automatically linked" to the issue, but it is not when the PR targets a non-default branch
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- github
- Domain
- documentation
Research direction
Start with the creating-a-branch-for-an-issue article linked in the report and compare its automatic-linking wording with the linked pull request article. Confirm the documented default-branch condition and update the affected passage so it matches the observed behavior. Done when the article clearly explains when automatic linking occurs and the relevant documentation checks pass.
Written by the indexing model from the issue text.
Description
Code of Conduct
- I have read and agree to the GitHub Docs project's Code of Conduct
What article on docs.github.com is affected?
What part(s) of the article would you like to see updated?
The article states, with no condition on the pull request's base branch:
When you create a pull request for a branch that's connected to an issue, it is automatically linked to the issue, and the connection with that branch is removed with only the pull request shown in the "Development" section.
In practice this automatic linking does not happen when the pull request targets a branch other than the repository's default branch. The article should either state that the automatic linking requires the pull request to target the default branch, or the behaviour should be changed to match the current wording.
For comparison, the default-branch requirement is documented for closing keywords on Linking a pull request to an issue ("The pull request must be on the default branch."). There is no equivalent caveat on this page, so readers who create a branch from an issue reasonably expect the link to be created regardless of the base branch.
Additional information
Steps to reproduce (reproduced reliably, on a repository whose default branch is main):
- Create issue A. From its Development section, use "Create a branch" to create linked branch
feature/a. - Create issue B. Create linked branch
feature/bthe same way, based onfeature/a. - Push a commit to
feature/band open a pull request fromfeature/bwith basefeature/a(a stacked pull request).
Expected (per the article): issue B's Development section shows the pull request in place of the branch, and the pull request's closingIssuesReferences contains issue B.
Actual: issue B's Development section still shows the branch, and no pull request appears there. The pull request's closingIssuesReferences is empty, and no connected event is emitted on the issue timeline — only cross-referenced.
Repeating step 3 with base = main behaves exactly as documented: a connected event is emitted about two seconds after the pull request is created, and the branch entry is replaced by the pull request.
Notes
- Manually linking that same pull request to the issue from the Development sidebar does work with a non-default base, and the resulting link is a normal one (
closingIssuesReferencesbecomes populated). So this is not a blanket restriction on non-default base branches — only the automatic linking silently does not run. That asymmetry is what makes the current wording misleading. - Why this matters: in a stacked pull request workflow every pull request except the first one targets a non-default branch, so each one silently loses its issue link. Nothing in the UI indicates that the link is missing; it is only visible by querying
closingIssuesReferencesthrough the API, or by noticing that the Development section still lists a branch rather than a pull request. - Related, but not the same request: https://github.com/orgs/community/discussions/13240 asks for linked issues to be closed when a pull request merges into a non-default branch. This report is about the link not being created at all, which happens even before any merge.
- Dominant language
- TypeScript
- Stars
- 20.9k
- Forks
- 68.8k
- Avg merge
- 13h 55m
- Merged PRs (30d)
- 105
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/docs
-
content triage
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
localization triage
Difficulty 2/5 1-2 days Newbie friendliness 72/100
-
content localization
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
content localization
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
content dependabot needs SME
Difficulty 1/5 Under an hour Newbie friendliness 82/100
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·