Branch from any message. The parent thread stays exactly as it was, and the branch runs on its own. Try a risky rewrite, a second opinion, a different model, all from the same point in the conversation.
The parent is never touched. Keep one branch, throw the rest away.
“It rebuilt the whole component when only a font colour was requested.”
A pattern filed repeatedly against Claude Code, alongside the documented premature-stop bug where it finishes part of a plan and summarises "as if the entire task is complete."
View the source ›
One linear thread means one bad turn poisons everything after it, and your only undo is starting over. Branching makes a wrong answer cheap instead of destructive: fork before the risky ask, keep the good branch, throw the other away. The parent is never touched.
Not just the end. Pick the exact turn where things were still good and start a new line from there.
Open two branches in a split and watch both answers arrive. Compare, then keep one.
Same question, one branch on a reasoning model, one on a fast one. See which is actually worth the tokens.
Before you hand it a refactor that could touch forty files, branch. If it overreaches, you are one click from the thread as it was, with your context intact and nothing to re-explain.
Pick the turn where it was still right and start a new line from there.
Every branch is a real session: it syncs, it queues, it shows up on your phone. Start a branch at your desk and read the result on the train.
Same question, two engines, one window. Compare, then keep one.