Skip to main content
A session is one active agent runtime. Its conversation is the saved transcript attached to that runtime. Keeping the distinction clear helps when you open the same saved conversation, rewind a session, or fork a response into a new chat.

Chat tabs in VS Code

The secondary side bar shows one chat at a time. Run Embedder: New Embedder Chat in Editor or use /new to open a conversation in a native VS Code editor tab. Each editor chat has its own:
  • session and saved conversation;
  • mode and approval policy;
  • selected model and project context;
  • active turn, confirmations, and prompt queue;
  • plan review and rewind state.
Native editor tabs are managed by VS Code. Embedder does not add a separate tab limit to them. Closing a tab ends its active session but does not delete the saved conversation. Open it again from history. If that conversation is already open, history focuses the existing editor tab instead of loading a duplicate.
Starting a new chat from the side bar replaces the conversation shown there. If its current turn is still running, Embedder asks first and can leave that turn running in the background.

Conversation history

Run /history (also /resume or /conversations) or open the Conversations view. History is scoped to the selected project. It:
  • sorts conversations by their latest visible activity;
  • groups entries by relative date;
  • searches titles and summaries;
  • shows whether a conversation is running or idle;
  • lets you rename a conversation;
  • lets you delete a closed conversation after confirmation.
You cannot delete the conversation that is currently open. Close it first. Opening history from the VS Code view creates a native editor tab for the selected conversation. Other clients can show a picker instead.

Thread picker in the terminal UI

VS Code history opens the full conversation. The terminal UI can instead load a conversation through one of its turn boundaries, called a thread. Each visible user message starts one thread. Its message count includes that prompt and the assistant or tool messages that follow it, up to the next visible user prompt. The terminal UI shows a thread picker when a conversation has more than one thread. It can load:
  • Full Conversation, which restores every turn;
  • one thread, which restores the conversation from its start through that thread’s response.
Loading a thread changes model context. It does not restore workspace files. Use a rewind checkpoint when you need the transcript and project files to move back together.

Queue follow-up prompts

If you send a prompt while a turn or conversation compression is running, Embedder adds it to that session’s queue. A queue can hold up to 10 messages. After the active turn settles, queued prompts run in order. A queued message keeps the agent mode selected when you sent it. This prevents a later visible mode change from silently changing the queued task’s permissions. The queue panel starts expanded and shows the pending count. Its actions are: Send now does not interrupt the active turn. It means “send next” while the session is busy. Image-only queue entries show image labels but have no text editor. If an entry contains text and images, you can edit its caption while the images stay attached. Pressing Stop ends the current turn and leaves the queue in place. /clear stops the turn and clears the conversation and queue.

Edit an earlier prompt

You can edit a previous user prompt and submit it again. Embedder first checks which files changed after that checkpoint, then offers to:
  • continue and revert the session-owned file changes;
  • continue without reverting files;
  • include files that another session changed after the checkpoint;
  • cancel.
Submitting the edit removes the selected prompt and every later message, then sends your revised prompt. This cannot be undone.

Undo the latest turn

Run /undo or Embedder: Undo Last Message to remove the latest visible user turn and its response. Embedder restores that prompt to the composer and attempts to restore files from the turn’s checkpoint. Files changed by another conversation are left as they are. If a turn has no complete file manifest or checkpoint, Embedder reports that the file rewind was incomplete rather than claiming the workspace was restored. Undo is unavailable while a turn, compression, or tool confirmation is active.
Undoing a turn does not refund its model usage. The request was already processed and billed.

Rewind to a checkpoint

Run /rewind (also /rw) to open the rewind picker, or use the rewind action on a user message. Entries show the prompt, the number of files changed, and whether the checkpoint is before a compression boundary. A rewind:
  1. stops an active turn before committing the rewind;
  2. clears queued prompts for that session;
  3. removes the selected user message and every message after it;
  4. restores safe session-owned paths from the checkpoint when snapshots are available;
  5. parks an active long-running goal until you resume it.
When another conversation changed one of the same files, Embedder leaves that file untouched by default and shows it as contested. In VS Code, you can choose Revert those too after reviewing the paths.
Rewind is destructive and cannot be undone. Commit or copy work you need to keep before rewinding.

Fork a response

Use Fork to new chat under a completed response when you want another direction without changing the source conversation. The fork:
  • creates a linked conversation in a new editor tab;
  • leaves the source conversation untouched;
  • cuts the source transcript at the selected response;
  • opens with clean model context and an optional source-transcript attachment.
The source transcript is initially display-only. Preview it and select Add chat transcript if you want the new agent to use it as background context. Until you attach it, the model does not receive that transcript. You cannot fork while a turn, compression, or tool confirmation is active.

Compress conversation context

Run /compress (also /summarize) when you want to compact the current conversation now. Explicit compression summarizes active context, marks the earlier transcript as display-only for the model, and inserts a new compacted context. The visible transcript remains available, and the UI marks the boundary with conversation compressed. If there is too little context to reduce, the command reports that the conversation is too short instead of fabricating a summary.

Smart auto-compact

The Smart auto-compact toggle is separate from /compress and is off by default. Its value is stored in the machine’s Embedder user preferences. When enabled and supported by the selected model, smart compact runs at a model-provided threshold. It first tries a deletion-only compaction that removes redundant context without rewriting the retained lines. It can run before a new turn or between tool steps in a long turn. Normal overflow protection is separate. Near the model’s context limit, Embedder can run summary compression even when Smart auto-compact is off.

Share a session with your team

When your team enables conversation sharing, /share prepares a read-only team snapshot. Nothing leaves your machine until you confirm the preview. On upload, Embedder redacts detected secrets and can truncate large tool results. Teammates see the shared session in their chat history. Public links are not supported.
  • /share shows the team, title, and message count, then asks you to create the team share.
  • /share list lists your shared sessions.
  • /share revoke revokes shares for the active conversation.
Sharing requires a selected team and project, the team’s conversation-sharing feature, and team telemetry policy that permits conversation upload. The command is hidden when those conditions are not met.
Last modified on August 24, 2026