PR tracker chips show stale state — `state` cached at PR creation, never refreshed (hover card fetches live)

Resolved 💬 2 comments Opened Jul 9, 2026 by ArseniyKolenchenko Closed Jul 13, 2026

Describe the bug

PRs created during a desktop-app session are tracked as chips. Each chip's open/merged state is written once at PR-creation time into the per-session store and never refreshed — merged PRs keep rendering as open indefinitely, while the same chip's hover preview does a live GitHub fetch and correctly shows "Merged".

Environment

  • Claude Code CLI 2.1.187
  • Desktop app 1.19367.0
  • macOS (Darwin 24.6.0)

Repro / evidence

  1. Have Claude create a PR in a desktop session → chip appears (state open).
  2. Merge the PR on GitHub.
  3. Hours later (including across app restarts) the chip still renders as open; hovering it shows the live GitHub card saying "Merged".

Render source: ~/Library/Application Support/Claude/claude-code-sessions/<workspace>/<session>/local_<id>.jsonprs[] entries keep "state": "OPEN" from creation. The app actively rewrites this file (other fields update), but never re-polls prs[].state. The adjacent CI chip IS live, which makes it extra confusing: green checks + "open" on a merged PR.

Expected

Chip state refreshed on the same cadence as the CI chip / hover preview (or at least on app focus), or merged PRs visually marked / auto-cleared.

Workaround

Dismiss chips manually (×), or edit prs[].state in the session store file.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗