Repository navigation
Closed
Labels
acceptedfeature request acceptedfeature request acceptedbugSomething is broken or behaving incorrectly.Something is broken or behaving incorrectly.via-triageFiled through npx t3 triageFiled through npx t3 triage
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Closest existing checked 2026-09-21, none match:
- [Bug]: Codex cant update #8051 Codex cant update
- [Bug]: Provider update prompt never shows when npm registry lookup exceeds the hardcoded 4s timeout #11163 provider update prompt never shows on npm timeout
- Copy update command always emits
npx t3@<version>, which never updates a globally installed server #9370 copy update command emits npx - [Bug]: OpenCode provider update can leave the global Windows CLI without a working command #4211 OpenCode provider update breaks CLI
Area
apps/web
Steps to reproduce
- Go to Settings / Providers / All environments / All projects
- Note Claude entry
v2.1.273with update glyph in left list, and same-looking glyph in detail headerv2.1.273. - Click the small update icon in the list/header -> toast
Claude update command copied / Run it in a terminal when you are ready to update.Command/home/huso/.local/bin/claude updateis only copied to clipboard, nothing runs. - Click the other update affordance to open
Update available / Install the update now or review provider settings.popover ->Update nowbutton actually runs the update in place. Manual section shows same command with explicit copy icon.
Expected behavior
Same-looking update controls should do the same thing, or be visually distinguished, e.g.:
- copy-icon + tooltip
Copy update commandfor the copy action - download/run-icon + tooltip
Update nowfor the in-place action
Ideally the row icon opens the sameUpdate availablepopover so both paths converge.
Actual behavior
Two identical-looking update icons/buttons diverge with no tooltip distinction:
- one copies
/home/huso/.local/bin/claude update(toast confirms copy only) - the other performs the update (
Update now)
Violates least surprise, risks missed update or unexpected update. Screenshot shows both the toast and the popover at once.
Impact
Minor bug or occasional failure
Version or commit
nightly (exact build unknown)
Environment
Ubuntu 26.04.1 LTS, T3 Code Desktop nightly, Claude 2.1.273, binary /home/huso/.local/bin/claude update
Logs or stack traces
None - UI behavior only.
# toast text observed:
# Claude update command copied
# Run it in a terminal when you are ready to update.Screenshots, recordings, or supporting files
Workaround
Use Update now in popover for real update, or paste + run copied command manually in terminal.
Metadata
Metadata
Assignees
Labels
acceptedfeature request acceptedfeature request acceptedbugSomething is broken or behaving incorrectly.Something is broken or behaving incorrectly.via-triageFiled through npx t3 triageFiled through npx t3 triage
Activity
juliusmarminge commentedon Sep 21, 2026
Triage
Confirmed. This is a real UX bug in Settings → Providers, not a failed update.
On wide layouts the providers page is a split list + editor (
@min-[48rem]/providers). Both panes renderProviderInstanceCardwith the sameArrowUpCircleglyph:versionAdvisory.updateCommandand toasts{name} update command copied. Tooltip is already “Copy update command”. Added in fix(web): copy provider update commands from compact rows #9888 so the compact glyph did something (it used to be inert).onRunUpdateis only wired in editor mode). Copy is a separateCopyIconon the command line.Same icon, two actions. Easy to think the list click updated the CLI when it only copied the command. The list tooltip is easy to miss; the header glyph has no tooltip.
Not a duplicate of #8051, #11163, #9370, #4211 (those are update/install failures or the server copy command). #12877 is device/tool versions, a different surface.
Fix (web + desktop; no mobile UI here): have the list glyph open the same popover as the header so both paths converge. Keep copy on the explicit copy control inside the popover. Passing
onRunUpdatethrough in list mode is enough; no contract or adapter change.Workaround until then: use Update now in the header popover, or paste the copied command in a terminal.
cestercian commentedon Sep 21, 2026
I'd like to take this — working on making the two update affordances visually distinct.