You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Native Claude chats stay on the previous account after a switch; the restart offer (#29898) skips them #30727
Summary. After switching the managed Claude account, native Claude chats (Chat UI) keep running on the account they were started with. The account-switch restart from #29898 (the "Switched to …" dialog and the setting "When you switch accounts while Claude is running": Ask / Always restart / Never restart) only covers Claude running in terminal panes. A running native chat therefore has no way to move to the new account short of restarting Orca, even though the setting's description says "Restarting continues each running conversation on the new account".
Environment: macOS 26.5, Orca 1.4.230, Claude Code 2.1.303, five managed Claude subscription accounts (host runtime), Chat UI on.
Steps to reproduce
Select managed Claude account A. Open a native Claude chat and send a message.
Switch to account B from the status-bar Claude menu (with "Always restart", or answer the dialog with Restart if it appears).
Send another message in the same chat.
Observed
No dialog mentions the chat, and "Always restart" does not restart it.
The chat's claude process keeps CLAUDE_CONFIG_DIR=~/Library/Application Support/orca/claude-profiles/<A>/home (checked with ps -wwE), while claude-profiles/selected-host already names B's folder. The chat keeps running on A, which is usually the account that just hit its limit and the reason for switching in the first place.
Only a new chat, or restarting Orca, picks up B.
Measured on one machine: Orca restarted with account A selected and 8 native chats came back on A. After switching to B a few minutes later, all 8 stayed on A; only a chat opened after the switch ran on B.
Expected
Native chats follow the same setting as terminal sessions. With "Always restart", an idle chat restarts its provider in place on the new account and continues the same conversation, and a chat that is mid-turn restarts once its turn ends. With "Ask", the dialog lists running chats alongside terminal sessions. Ideally the automatic switch from #28044 would hand chats to the same step.
Where chats are skipped (v1.4.230)
src/renderer/src/lib/claude-session-account-move.ts: localClaudePanesInLane(), documented as "Local terminal panes with a terminal (not structured) Claude session", walks only terminalLayoutsByTabId leaves and skips entries with structuredHostOwned, so findMovableClaudeSessions() never returns a native chat. On the main side, select() → syncForCurrentSelection() only rewrites selected-host (and prepares B's folder), and the structured runtime resolves the account (prepareLaunch()) only when it spawns the provider.
Activity
AmethystLiang commentedon Oct 19, 2026
Thanks for reporting. Looking into it