#12415·t3code

Command palette keeps "Show linked pull requests" disabled after a PR is linked

Author: Defmon3Created Sep 18, 2026Updated Sep 18, 2026
Labelsbugacceptedvia-triage

What happened

Link a pull request to an open thread. The sidebar badge shows it; the command palette entry "Show linked pull requests" stays disabled until the thread detail reloads (switch thread, reconnect).

Diagnosis

The client merges the live thread shell over the loaded thread detail in mergeEnvironmentThread (packages/client-runtime/src/state/threadDetail.ts). It copies every shared field except pullRequests, so the merged thread keeps the list from the first detail load. The palette reads activeThread.pullRequests from that merged value (apps/web/src/components/CommandPalette.tsx). The shell already carries the current list (packages/contracts/src/orchestration.ts, EnvironmentThreadShell.pullRequests).

Steps to reproduce

  1. Open a thread.
  2. Link a pull request from the thread's pull request panel.
  3. Open the command palette.

Expected: "Show linked pull requests" enabled, listing the PR. Actual: disabled until the thread detail reloads.

Environment

Web client, any OS. Reproduced from source on main at 56a9bf2bd.

Evidence

A one-line fix with a regression test is ready: pullRequests: shell.pullRequests in the merge, the same pattern as the sibling fields.

Related issues

None found. Introduced by the combination of #10839 (field added to the shell) and #11348 (palette disabled on an empty merged list).

Filed by Claude Fable 5.1 in T3 Code.