Feature request: “Digress” / conversation branching for LLM chats
I would love to see a first-class way to branch, collapse, revisit, and optionally promote side conversations inside an LLM chat.
Right now, most chat interfaces treat conversations as one long linear timeline. That works for simple Q&A, but it breaks down when using an LLM for real projects, research, learning, or planning.
Human thought is not always linear, and neither is human conversation. When working through a main topic, random but useful side questions naturally come up, just as they do in real-life conversations. Someone may be explaining something, then one word or idea sparks a side discussion. After exploring that side topic, someone eventually says, “but to get back to your question,” and the conversation returns to the original point.
That is essentially a real-life digression being collapsed.
LLM chats should support that same natural flow without turning the main conversation into a giant messy scroll.
For example, I may be working on a Street Sweeper app project involving ESP32 boards. While discussing hardware, I might suddenly want to better understand flash memory, RAM, ROM, or why old video game cartridge files are called ROMs. That side topic is interesting and useful, but it is not directly part of the main Street Sweeper project. It should not permanently clutter the main conversation.
My request is a button that lets users “Digress” or “Fork” from a specific point in a conversation.
The digression would open as a side branch where I can explore the random thought, ask follow-up questions, and learn what I need. When I am done, I can collapse that branch and return to the main conversation, keeping the main thread clean and focused.
Later, I should be able to reopen that collapsed digression. If the side topic becomes important enough, I should also be able to promote it into a brand-new conversation. That way, a small curiosity can grow into its own full chat without forcing me to scroll back through the original project conversation or manually copy and paste everything.
Possible actions:
Main thread = source of truth
Digress = branch off from a specific point
Collapse = hide the side branch and return to the main topic
Reopen = revisit the side topic later
Promote to new chat = turn the digression into its own conversation
Attach to project = optionally save that branch as part of a larger project workspace
This would make LLM conversations feel less like endless scrolling text and more like organized thinking. It would help users keep serious project chats clean while still allowing natural curiosity, learning, and exploration.
I personally like the word “Digress” because that is exactly what the user is doing. In normal speech, people say “but I digress” when they go off-topic and then return to the point. This feature would turn that natural behavior into a clear UI pattern.
Chat is currently designed like a straight line, but thought and conversation often behave more like a tree. LLM interfaces should support that.