Question about Fork Chat

I have this peculiar question when forking existing chats.

When doing this, does the forked chat actually spawn a new chat window as well resetting context window at all? If the context window does not get reset in new forked chat, what’s the purpose of having the chat there if you’re retaining the cached tokens and they get ‘reconsumed’ as new token consumption metric which will deplete your tokens count considerably?

Just wondering what’s is core benefit of having forked chat for.

Hey, good request. I’ll break it down:

New window? Yes. Fork creates a separate new chat with its own tab entry, usually named like (1) <chat name>, and the original chat stays unchanged.

Does the context window reset? No. Fork copies the conversation history up to the fork point, so the model keeps all prior context. If you fork after a specific turn, everything after that gets cut off, meaning you rewind to that point. If you fork the whole chat, it copies the full conversation. Either way, earlier context stays, that’s the point of forking vs starting a brand new chat.

What’s the point if tokens get reconsumed? Key detail: continuing any chat already re-sends the accumulated history to the model on every turn. That’s just how chat and agent turns work, and fork doesn’t change that. Fork doesn’t add extra cost beyond what continuing the original chat would cost, it just puts that continuation on a separate branch. Also, prompt caching reduces the cost of the repeated history prefix, so you don’t get charged twice.

Main benefit: safe branching and parallel exploration. You can try a different approach from a chosen point without touching the original. You can compare two directions side by side, or go back to the original branch if the new one isn’t good.

Small limitation: Fork Chat only works for local chats. It’s not available for Cloud Agent chats in the IDE and side chats.

Let me know if anything’s still unclear.

I get its actual purposes with the benefit you mentioned, parallel exploration etc.

But, from my naive standpoint, what I’m more interested to find out would forked chat allow me to save token consumption in my new forked chat window as each forked chat window has a history of prompts being cached that so that I don’t run into the problems of ‘context rot’ which may cause the token usage spend to be running high unnecessarily. Especially for any chat I keep prompting that ends up in long running chat for a while. Thus I thought having forked chat would help to create segway to reduce token spend as wisely as possible.

That’s where I’m coming from. Hope my problem statement wasn’t too confusing.

Good question, there’s an important detail here.

Forking by itself doesn’t save tokens. If you fork the whole chat, it copies all history up to the fork point, so the context is the same size and each next turn costs the same as if you just kept going in the original chat. It also doesn’t fix context rot, because the accumulated history is still there.

Where forking really helps is when you fork after a specific earlier turn. In that case, everything after the chosen turn gets cut off. You’re basically rolling the chat back to a shorter state, then continuing from there with less history. Less accumulated context means less context rot and fewer tokens per next turn.

So the pattern for long chats is this: when the conversation gets bloated and quality starts to drift, fork from the point where things were still on track, and continue from there. You get a cleaner segment without the noise, but you keep the context you still need. It’s a middle ground between continuing a bloated chat and starting from scratch.

If you don’t need any context at all, the cheapest option is a new chat, since the history is zero. Forking from an earlier turn is a compromise when you still want to carry over some context.

Let me know if anything still doesn’t line up.