# Conversation forking

Warp allows you to **fork conversations** to create a new thread that inherits all of the context, messages, and history from an existing conversation. This is useful when you want to branch off in a new direction without affecting the original conversation.

{% embed url="<https://www.loom.com/share/15164f2abc19437ebefb47a8c6b52eb8?t=54>" %}

### How conversation forking works

* When you fork a conversation, the new thread starts with the same context and history as the original.
* Any follow-ups in the forked conversation do **not** impact the original. Likewise, continuing in the original conversation does not change the fork.
* Forked conversations behave just like any other conversation: you can move them into new windows, panes, or tabs.
* Your selected model and execution profile are preserved in the forked conversation.

*Example*: You can fork a conversation to explore an alternate solution, ask “what if” questions, or continue down two separate paths in parallel.

### How to fork a conversation

There are five ways to fork an existing conversation:

#### **1. From the Command Palette**

Open the menu using the Command Palette (`CMD + Y` on macOS / `CTRL + SHIFT + Y` on Windows/Linux).

Select **Fork current conversation** to fork your current conversation, or fork a specific conversation from open conversations.

<figure><img src="https://769506432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAULCelT4yIUOcSwWWvPk%2Fuploads%2Fgit-blob-76923961454a4ed5b990183d7b84aeed22f1697b%2Fconversation-forking-palette.png?alt=media" alt=""><figcaption></figcaption></figure>

In addition, when you hover over any open conversation in the Command Palette, you'll see a **fork button**. This lets you fork not only active conversations, but also inactive and historical ones.

<figure><img src="https://769506432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAULCelT4yIUOcSwWWvPk%2Fuploads%2Fgit-blob-78a0cc4938a84942ef2e0226cccb9d3d953a7718%2Fconversation-forking-open-conversations.png?alt=media" alt=""><figcaption></figcaption></figure>

You can also access this conversation view from the conversation chip in the current conversation.

<figure><img src="https://769506432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAULCelT4yIUOcSwWWvPk%2Fuploads%2Fgit-blob-4ad356110556f0fd52eae5e17187ad633b484cef%2Fconversation-forking-chip.png?alt=media" alt=""><figcaption></figcaption></figure>

#### **2. From the footer of the most recent AI response block**

In any conversation in the blocklist, click the **fork button** in the footer of the most recent AI block. A new conversation opens in a separate pane with the full context of the original.

<figure><img src="https://769506432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAULCelT4yIUOcSwWWvPk%2Fuploads%2Fgit-blob-4d05d9b53ff9e7c2efbbd96d0a0a659ac87a786e%2Fconversation-forking-footer.png?alt=media" alt=""><figcaption></figcaption></figure>

#### **3. Using the `/fork` slash command**

Type `/fork` in the input to fork the current conversation. You can optionally include a prompt after the command, and Warp will send that prompt in the newly forked conversation.

* Press `Enter` to open the fork in a new pane (default)
* Press `⌘+Enter` (macOS) or `Ctrl+Enter` (Windows/Linux) to open the fork in the current pane

*Example*: `/fork Can you try a different approach?` Forks the selected conversation and immediately sends `Can you try a different approach?` in the forked conversation.

#### **4. Using the /fork-and-compact slash command**

Type `/fork-and-compact` to fork the current conversation and automatically compact the forked version. This combines forking with [context window management](https://docs.warp.dev/agent-platform/warp-agents/interacting-with-agents/..#context-window-management), giving you a fresh start with a summarized context.

* Press `Enter` to open the fork in a new pane (default)
* Press `⌘+Enter` (macOS) or `Ctrl+Enter` (Windows/Linux) to open the fork in the current pane

<figure><img src="https://769506432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAULCelT4yIUOcSwWWvPk%2Fuploads%2Fgit-blob-6b203ff6fd097282f0a4da110e06aa642bb075ca%2Fconversation-fork-and-compact.png?alt=media" alt=""><figcaption></figcaption></figure>

#### **5. Using the `/fork-from` slash command**

Type `/fork-from` to open a searchable menu of all queries in the current conversation. Select a query to fork the conversation from that specific point—everything up to and including that exchange is included in the fork, but subsequent messages are excluded.

This is a more discoverable alternative to right-clicking on an agent response block.

### Fork from anywhere in a conversation

In addition to forking from the end of a conversation, you can fork from any point in the conversation history. This lets you return to an earlier agent response and branch off in a new direction from there.

{% embed url="<https://youtu.be/SlhF4_0bBxY>" %}

To fork from a specific point, **right-click** on any agent response block or click the three-dot menu in the top-right corner of the block.

* Select **Fork conversation from here** to create a new conversation that includes everything up to and including that response, but excludes any queries or responses that came after it.

**This is particularly useful for:**

* **Exploring alternate paths** - Go back to a point where the conversation was on track and try a different approach.
* **Managing your context window** - If a conversation has grown too long, fork from an earlier point to continue with only the relevant context.
* **Preventing context pollution** - When a conversation has accumulated errors or gone off track, fork from before those issues occurred to start fresh.

### Settings

You can configure the default layout for forked conversations in **Settings** > **Features** > **Open forked conversation layout**:

* **Split Pane** (default): Opens the forked conversation in a new pane alongside your current view.
* **New Tab**: Opens the forked conversation in a new tab.

This setting controls the default behavior when forking via the Command Palette, AI block footer button, or slash commands (when pressing `Enter`).

### Using forked conversations <a href="#using-forked-conversations" id="using-forked-conversations"></a>

* Once forked, you can continue prompting as if you were still in the original conversation. The original conversation remains unchanged, allowing you to reference or continue both in parallel.
* For example, after forking you can ask *"Could you explain more?"* and Warp responds using the inherited context.

**Forking is especially useful when:**

* You want to explore different approaches without losing the original thread.
* You need to keep one conversation "clean" while experimenting in another.
* You want to reuse context or specific blocks from older conversations.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.warp.dev/agent-platform/warp-agents/interacting-with-agents/conversation-forking.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
