Before submitting
Area
apps/web
Steps to reproduce
- Configure two provider instances that share a provider (e.g. a work and a personal Claude Code account) and give at least one of them a custom accent color in Settings → Connections.
- Open the composer's model picker: each account shows the provider icon with a colored initials badge (this is how you tell the accounts apart).
- Start threads using different accounts.
- Look at the threads in the sidebar (sidebar v2), and hover a row to open the details card.
Expected behavior
The provider icon on a sidebar row carries the same account accent color + initials badge the composer's model picker shows, and the hover card identifies which account the thread runs on — so with work + personal subscriptions you can see at a glance which thread burns which account's quota.
Actual behavior
The sidebar row renders the bare provider glyph with no badge, and the hover card's provider line is forced grayscale and only shows the model label. Threads from different accounts of the same provider are visually identical.
The account data is already on the row: both SidebarThreadRow and SidebarSearchResultRow resolve the full ProviderInstanceEntry (which includes accentColor and displayName), but the two ProviderInstanceIcon call sites in apps/web/src/components/Sidebar.tsx (row icon and SidebarThreadTooltip) never pass accentColor/showBadge, unlike ProviderModelPicker / ModelPickerSidebar which use Boolean(accentColor) || duplicateDriverCount > 1.
Composer showing the account badge (accent color + initials):


Sidebar row and hover card with no account identity:


Not a duplicate of #5289 / #5300 (provider icon entirely missing for non-primary environments — a lookup-source bug) or #1888 (icon visibility per thread status); this is about the account accent/initials badge never being passed through even when the icon does render.
Impact
Minor bug or occasional failure
Version or commit
main @ 9821bca
Environment
macOS 15 (Darwin 24.6.0), desktop + web clients
Workaround
Open the thread and check the composer's model picker — the account badge only shows there.
Happy to send a small focused PR for this (thread accentColor/showBadge into the two existing ProviderInstanceIcon call sites, reusing the composer's badge heuristic).
Before submitting
Area
apps/web
Steps to reproduce
Expected behavior
The provider icon on a sidebar row carries the same account accent color + initials badge the composer's model picker shows, and the hover card identifies which account the thread runs on — so with work + personal subscriptions you can see at a glance which thread burns which account's quota.
Actual behavior
The sidebar row renders the bare provider glyph with no badge, and the hover card's provider line is forced grayscale and only shows the model label. Threads from different accounts of the same provider are visually identical.
The account data is already on the row: both
SidebarThreadRowandSidebarSearchResultRowresolve the fullProviderInstanceEntry(which includesaccentColoranddisplayName), but the twoProviderInstanceIconcall sites inapps/web/src/components/Sidebar.tsx(row icon andSidebarThreadTooltip) never passaccentColor/showBadge, unlikeProviderModelPicker/ModelPickerSidebarwhich useBoolean(accentColor) || duplicateDriverCount > 1.Composer showing the account badge (accent color + initials):
Sidebar row and hover card with no account identity:
Not a duplicate of #5289 / #5300 (provider icon entirely missing for non-primary environments — a lookup-source bug) or #1888 (icon visibility per thread status); this is about the account accent/initials badge never being passed through even when the icon does render.
Impact
Minor bug or occasional failure
Version or commit
main @ 9821bca
Environment
macOS 15 (Darwin 24.6.0), desktop + web clients
Workaround
Open the thread and check the composer's model picker — the account badge only shows there.
Happy to send a small focused PR for this (thread
accentColor/showBadgeinto the two existingProviderInstanceIconcall sites, reusing the composer's badge heuristic).