[BUG] Desktop app PR status bar shows closed/merged PRs
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
The desktop app footer/status bar displays a merged PR from months ago when working on main. This was reported in #24834 (closed as "completed" on Feb 12, 2026) and #25512 (closed as duplicate), but the bug is not fixed as of v2.1.109.
<img width="836" height="52" alt="Image" src="https://github.com/user-attachments/assets/f2bd2002-9eae-4bdc-a6da-6f8625fa5b73" />
Root cause confirmed: The app queries the GitHub REST API with state=all:
GET /repos/{owner}/{repo}/pulls?head={owner}:main&state=all
This returns the most recent PR where main was the head branch, even if that PR was merged/closed months ago. The app displays this with no filtering.
The footer shows a stale merged PR with an irrelevant branch name, wrong diff stats, and a "Merged" badge, even though the user is simply on main with no active PRs.
What Should Happen?
The query should use state=open:
GET /repos/{owner}/{repo}/pulls?head={owner}:main&state=open
If no open PR exists for the current branch, the PR indicator should not appear.
Steps to Reproduce
- Have a repo where
mainwas once the HEAD of a PR (e.g., merging main into a feature branch) - That PR is now merged/closed
- Check out
mainlocally - Open Claude Code desktop app - the footer shows the stale merged PR
Attempted Workarounds (None Worked)
- Cleared
~/Library/Caches/com.anthropic.claudefordesktop/ - Deleted
~/Library/Application Support/Claude/Local Storage/ - Deleted
~/Library/Application Support/Claude/Session Storage/ - Removed
branch.main.github-pr-owner-numberfrom.git/config - Disconnected and reconnected GitHub account
- Cache is repopulated from the server on every app launch
Verification
# App uses state=all (returns stale PR):
$ gh api 'repos/OWNER/REPO/pulls?head=OWNER:main&state=all&per_page=1' --jq '.[0].state'
"closed"
# Fix would use state=open (returns nothing, correct):
$ gh api 'repos/OWNER/REPO/pulls?head=OWNER:main&state=open&per_page=1' --jq 'length'
0
Note on #24834
Issue #24834 was closed as "completed" on Feb 12, 2026, but no commit or PR was linked in the timeline, and no corresponding fix appears in any CHANGELOG entry between v2.1.38 and the current v2.1.109. The issue appears to have been closed prematurely.
Is this a regression?
Yes - #24834 was closed as "completed" but the fix never shipped.
Claude Code Version
2.1.109 (Claude Code)
Platform
Anthropic direct (Claude Code Desktop)
Operating System
macOS
Terminal/Shell
Claude Code Desktop App
This issue has 12 comments on GitHub. Read the full discussion on GitHub ↗