Skip to content

Test: Multi-Chat in the Claude Code agent-host harness #324361

Description

@sandy081

Refs: #323625

Complexity: 4

Authors: @sandy081

Create Issue


Multi-Chat in Claude Code

A single Claude Code session can hold multiple independent chats (tabs): add new chats, fork
existing ones, run them concurrently, each with its own model, and have them all survive a
restart. Peer chats stay grouped under their parent session and never appear as separate
top-level sessions.

Set up

  1. Agents window enabled.
  2. Create and authenticate a Claude Code (Claude agent-host) session.

Scenario 1 — Add & switch chats

  • Use Add Chat (Cmd/Ctrl+T, or the new-chat action in the tab bar) → a new chat tab
    appears under the same session, empty and ready for input; you can switch between tabs.

Scenario 2 — Independent, concurrent conversations

  • Send a message in Chat 1, then a different one in Chat 2 → each streams/responds
    independently and responses land in the correct tab.
  • A running turn in one chat does not block sending in the other (concurrent turns work).
  • Change the model in Chat 2 to a different one than Chat 1 → it applies only to that
    chat; Chat 1 keeps its model; later responses in Chat 2 use the new model.

Scenario 3 — Fork a chat

  • From a chat with some turns, use Fork (fork-into-new-chat at a turn) → a new chat opens
    pre-populated with the source chat's turns up to the fork point; continuing the fork does
    not affect the original.

Scenario 4 — Close / delete a chat

  • Close a non-default (added/peer) chat tab (Delete on the tab, or the close action) →
    the peer chat is removed; other chats and the session remain intact.
  • The default/main chat cannot be closed on its own (it lives with the session).

Scenario 5 — Restore after restart

  • Create a session with 2-3 chats (mix of added + forked), send messages in each, set
    different models, then reload/restart → the session reopens with all chats restored as
    tabs; each chat's history, title, and model are preserved; no chat is lost, duplicated, or
    promoted to a top-level session.

Scenario 6 — Backward compatibility

  • Open a pre-existing Claude session created before this feature → it restores normally and
    you can add new chats to it.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions