Repository navigation
[Bug]: Mobile composer doesn't show which account a thread uses (web shows the account badge) #15910
Copy link
Copy link
Open
Labels
bugSomething is broken or behaving incorrectly.Something is broken or behaving incorrectly.via-triageFiled through npx t3 triageFiled through npx t3 triage
Description
Activity
Note
Grok responding on behalf of Julius.
Triage
Thanks for the thorough surface-by-surface table, @vitalyiegorov!
What I found
- On current
main(unchanged since a1d9d72), the composer, model sheet, and subagent bar still renderProviderIcon. This is separate from [Bug]: Switching accounts mid-thread shows the handoff as "Claude Opus 5.5 → Claude Opus 5.5" #15476/fix(clients): handoffs between accounts show which account is on each side #15477 and from fix(mobile): account badges no longer clip wide initials like WO #15908. - Composer:
ThreadComposerandNewTaskDraftScreenpassProviderIconinto the model control, and the label is the model name, so two Claude accounts look identical. Web'sProviderModelPickerusesProviderInstanceIconwithshouldShowInstanceBadge. - Subagent bar: mobile
ProviderSubagentBaronly receives{ driver, iconUrl }. Web's bar gets the instance entry andshowInstanceBadgefromChatView. - Model sheet header:
ThreadSettingsSheetis a bare glyph, andproviderDisplayLabelinapps/mobile/src/lib/modelOptions.tsreturnsdisplayNamewhenever it's set, so two instances named "Claude" stay indistinguishable. Web'sModelPickerSidebarbadges and names the instance withresolveProviderInstanceDisplayName. - A few of the cited spots follow a different treatment on web too:
SubagentRowalready prefixesresolveProviderInstanceDisplayName. Web's subagent tooltip adds the account name whenshouldShowInstanceBadgeis true.- Web's
SubagentAvatar(V2LifecycleRow.tsx) is also a bare glyph, like mobile's inthread-subagent-group.tsx. - The web environment provider list only badges when an accent color is set (
ProviderInstanceCard,showBadge={Boolean(accentColor)}). Mobile'sSettingsEnvironmentDetailRouteScreennever badges.
ProviderInstanceIcondraws the glyph at 60% opacity even whenshowBadgeis false, which is worth keeping in mind when swapping it in.
Likely fix area
- Switching the composer, new-task draft, model sheet header, and subagent bar to
ProviderInstanceIconwithshouldShowInstanceBadge, and passing the instance entry into mobileProviderSubagentBar. - Optionally using
resolveProviderInstanceDisplayNamefor the model sheet header to match web. - Whether the subagent avatar and environment list should match web's narrower rules or badge everywhere is a separate choice. fix(mobile): account badges no longer clip wide initials like WO #15908's layout fix would carry over automatically once these use the shared component.
A maintainer will decide on the fix direction.
- On current
- addedbugSomething is broken or behaving incorrectly.Something is broken or behaving incorrectly.via-triageFiled through npx t3 triageFiled through npx t3 triage
on Oct 5, 2026 - changed the title
[-][Bug]: Mobile composer, model sheet and subagent rows show a bare glyph where web shows the account badge[/-][+][Bug]: Mobile composer doesn't show which account a thread uses (web shows the account badge)[/+]on Oct 5, 2026 PR opened: #15922. The composer and new-task draft draw the account badge using the shared
shouldShowInstanceBadgerule andProviderInstanceIcon. Before and after screenshots of the same thread are in the PR.- added 6 commits that reference this issue
on Oct 5, 2026
Metadata
Metadata
Assignees
Labels
bugSomething is broken or behaving incorrectly.Something is broken or behaving incorrectly.via-triageFiled through npx t3 triageFiled through npx t3 triage
Before submitting
Area
apps/mobile
Steps to reproduce
Expected behavior
The mobile composer shows the account badge (WO) next to the model, as web does. That's how you can tell which account the next message will use.
Actual behavior
Mobile shows only the bare provider glyph, so the same thread looks identical on Personal and on Work. You only find out which account it uses by opening the model sheet. Same thread, same moment:
Web:
Mobile (iOS 26.5 simulator):
Cause
ThreadComposer.tsx(renderIcon) draws the plainProviderIcon. Mobile already has the sharedProviderInstanceIconand theshouldShowInstanceBadgerule, which the thread rows use since #9898 → #9899.The other mobile places that pick or show a thread's account have the same gap: the new-task draft (
NewTaskDraftScreen.tsx), the thread settings sheet (ThreadSettingsSheet.tsx), and subagent rows (SubagentRow.tsx,thread-subagent-group.tsx). On web, each of these has the badge.Impact
Minor bug or occasional failure
Version or commit
main at a1d9d72
Environment
iOS 26.5 simulator (iPhone 17) and web, against one Linux host with two Claude accounts.
Workaround
Open the model sheet and read the instance name.
Related