> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ftr10.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Manage Multiple Chat Sessions in Hermes Agent for VS Code

> Run parallel Hermes Agent conversations, switch between them, rename or delete sessions, and carry prior context into new chats with memory attachment.

Hermes Agent supports multiple parallel chat sessions so you can keep separate conversations for different tasks — one for a bug you're debugging, another for a feature you're designing — without mixing context. Sessions are persisted locally and restored between VS Code restarts.

## Creating and switching sessions

* Click **+ New** in the chat toolbar, or run **Hermes: New Chat** (`hermes.newChat`) from the Command Palette, to open a fresh session.
* Each open session appears as a tab in the chat panel.
* Click a tab to switch to that session, or run **Hermes: Open Session Menu** (`hermes.openSessionMenu`) to browse and switch sessions from a picker.

<Warning>
  If you switch sessions while a response is streaming, a confirmation prompt appears asking whether you want to stay in the current session or switch immediately. Switching mid-reply cancels the active stream.
</Warning>

## Session history

Sessions are persisted in local storage and restored automatically when you reopen VS Code or reload the extension. Messages that were restored from storage — rather than received live in the current connection — are marked with a **local-history** banner in the chat panel.

The local-history banner is a visual indicator only. The agent does not have access to these messages unless you explicitly attach them using context attachment (see below). From the tab bar you can also:

* **Rename** a session by double-clicking its tab label.
* **Delete** a session by right-clicking the tab and choosing Delete.

## Context attachment (session memory)

When the agent resets — because you switched to a new session, changed the model, or switched profiles — a **memory picker** appears above the input box. The picker lets you select prior messages to include as reference context when you send your next message.

**Available options:**

| Option      | What it attaches                                                                               |
| ----------- | ---------------------------------------------------------------------------------------------- |
| **Last 2**  | The two most recent attachable messages (user and assistant turns)                             |
| **Last 10** | The ten most recent attachable messages                                                        |
| **All**     | All attachable messages, truncated to fit within the context budget if needed                  |
| **Custom**  | A manual selection; clicking this enters multi-select mode so you can pick individual messages |
| **None**    | No prior context; the agent starts fresh                                                       |

When you hover over the memory picker button, a preview tooltip shows which messages are selected along with an estimated token count. This helps you stay aware of how much context you are adding before you send.

Control when the picker appears with the `hermes.contextAttachVisibility` setting:

* `onNewSession` (default) — shows the picker only after a session or model switch.
* `always` — shows the picker before every message send.
* `never` — disables the picker entirely; no prior context is attached automatically.

<Note>
  The agent's context resets completely when you switch sessions or change the active model. Local history in the chat panel is view-only — it lets you read what happened in a previous session, but the agent cannot see or reference those messages unless you use context attachment to explicitly carry them forward.
</Note>
