Skip to content

[Bug]: Native Claude chats stay on the previous account after a switch; the restart offer (#29898) skips them #30727

Closed

Description

@dimaver6work

Operating system

macOS

Orca version

1.4.230

Details

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

  1. Select managed Claude account A. Open a native Claude chat and send a message.
  2. Switch to account B from the status-bar Claude menu (with "Always restart", or answer the dialog with Restart if it appears).
  3. 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.

Related: #19900 (the terminal case), #29898, #29802, #28044, #25939, #30354, #30396.

Activity

  1. AmethystLiang commented on Oct 19, 2026

    @AmethystLiang
    Contributor

    Thanks for reporting. Looking into it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

os:macosIssues affecting macOS

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions