Problem
Every PR that gh stack submit or gh stack link creates gets this line appended to the bottom of the description:
Stack created with GitHub Stacks CLI β’ Give Feedback π¬
There's currently no flag, git config, or environment variable that turns it off. I checked the binary (strings on the compiled extension) β the only gh-stack.* git-config keys it reads are gh-stack.remote and gh-stack.rerere-declined. The footer HTML is a hardcoded string, not templated or gated by anything.
Why this matters more than a cosmetic PR-description line
On repos that use GitHub's squash-merge with "default to pull request title and description" β a common, often-default setting (squash_merge_commit_message: "PR_BODY" in the repo API) β the PR body becomes the literal squash commit message when the PR merges.
That means this footer doesn't just live in the PR UI temporarily. It gets written into the permanent, immutable git log of the target branch, on every single stacked PR, forever.
Prior art
Claude Code ships a documented includeCoAuthoredBy setting in settings.json specifically to let users disable the "π€ Generated with Claude Code" / "Co-Authored-By: Claude" trailer it otherwise adds to commits and PRs β for the same underlying reason: that text ends up permanently in shared git history, not just in a UI a user can dismiss. The same reasoning applies here.
Request
A way to suppress the footer, e.g.:
- A
gh-stack.footer=false git config value (matching the existing pattern of gh-stack.remote), or
- A
--no-footer flag on submit/link
Either would work β the point is just having some opt-out.
Problem
Every PR that
gh stack submitorgh stack linkcreates gets this line appended to the bottom of the description:There's currently no flag, git config, or environment variable that turns it off. I checked the binary (
stringson the compiled extension) β the onlygh-stack.*git-config keys it reads aregh-stack.remoteandgh-stack.rerere-declined. The footer HTML is a hardcoded string, not templated or gated by anything.Why this matters more than a cosmetic PR-description line
On repos that use GitHub's squash-merge with "default to pull request title and description" β a common, often-default setting (
squash_merge_commit_message: "PR_BODY"in the repo API) β the PR body becomes the literal squash commit message when the PR merges.That means this footer doesn't just live in the PR UI temporarily. It gets written into the permanent, immutable git log of the target branch, on every single stacked PR, forever.
Prior art
Claude Code ships a documented
includeCoAuthoredBysetting insettings.jsonspecifically to let users disable the "π€ Generated with Claude Code" / "Co-Authored-By: Claude" trailer it otherwise adds to commits and PRs β for the same underlying reason: that text ends up permanently in shared git history, not just in a UI a user can dismiss. The same reasoning applies here.Request
A way to suppress the footer, e.g.:
gh-stack.footer=falsegit config value (matching the existing pattern ofgh-stack.remote), or--no-footerflag onsubmit/linkEither would work β the point is just having some opt-out.