Documentation
Chat & Branching
Dino conversations aren’t linear — they branch, rewind, and fork. Think of each conversation as a tree where every prompt is a node and every response can be explored from multiple angles.
Conversation Structure
Each conversation is a tree of user messages and assistant responses. By default, you experience it as a simple back-and-forth. But when you edit a past message or try a different approach, the tree grows branches — alternative paths you can navigate between.
Branches are shown as indicators on messages in the chat. When a message has siblings (alternate responses or alternate prompts), a branch navigator appears.
Editing Past Messages
To edit a previous prompt:
- Click the edit action on the user message
- Modify the text (and optionally, attachments)
- Send the edited message
Dino creates a new branch from the point of the edit — the original message and its response are preserved as an alternate branch. You can switch back to the original at any time.
This is a Pro feature. On the Free plan, you cannot edit past messages.
Rerunning a Response
To regenerate Dino’s response to a prompt (without changing the prompt itself):
- Click the rerun action on the assistant message
- Dino generates a fresh response from the same prompt
The new response becomes a sibling of the old one. Both branches are preserved, and you can navigate between them.
Rewinding
Rewind lets you jump back to an earlier point in the conversation and continue from there:
- Click the rewind action on any assistant message
- The conversation truncates at that point
- Type a new message to continue in a new direction
If the rewound message already has children, Dino shows a branch indicator so you can switch back to the previous continuation.
Switching Branches
When a message has multiple branches (from editing, rerunning, or rewinding), you can navigate between them:
- Branch indicators appear on messages that have sibling alternatives
- Click a branch indicator to switch to the alternate path
- Switching branches is instant — Dino reconstructs the workspace state at that point
Branch navigation works like git checkout — you’re moving to a different point in the conversation tree.
Forking a Conversation
Forking creates a brand new conversation from the current point:
- Use the “Branch into a new chat” action on any message
- A new Dino tab opens with a copy of the conversation up to the fork point
- The original conversation remains untouched
When you fork, all file edits in the staging layer come along too. Forking isn’t just for the chat — the workspace state is copied as well, so the new conversation has the same in-progress changes as the original. Everything stays self-consistent.
This is useful when you want to explore a completely different direction without losing the current conversation and its staged changes.
Duplicating a Conversation
Duplicating copies the entire conversation and its staging layer into a new chat:
- Use the “Duplicate Chat” action from the title bar
- A new Dino tab opens with a complete copy of the conversation
- Both copies are fully independent from this point
Like forking, duplication includes the staging layer — all in-progress file edits are copied over.
Chat History
All conversations are saved automatically and accessible from the chat history panel:
- Open history — Click the history icon in the title bar
- Search — Filter conversations by title
- Resume — Click a conversation to load it into the current session
- Rename — Click the rename button on a conversation
- Delete — Remove conversations you no longer need (with confirmation)
Copy as Markdown / JSON
You can export the current conversation:
- Copy as Markdown — Exports the conversation as formatted Markdown with user/assistant labels
- Copy as JSON — Exports the raw conversation data as JSON, useful for debugging or analysis
Both options are available from the title bar menu.
Model Switching
You can switch models at any point during a conversation — even mid-way through a complex task. Click the model name in the status line to open the model picker.
A practical strategy: start with a fast, affordable model for the initial pass. If it struggles, switch to a more powerful model to finish the job. If that model also has trouble, try a different strong model — each model has different strengths.
Multiple Tabs
On the Pro plan, you can open multiple Dino tabs in the same VS Code window. Press Cmd+Shift+D / Ctrl+Shift+D to open a new tab.
Each tab runs an independent conversation with its own chat tree, staging layer, and model selection. This means multiple tabs can work on the same codebase simultaneously without conflicting — each tab’s changes are isolated in memory until you apply them.
This is particularly useful for:
- Running the same prompt across different models to compare results
- Working on multiple features in parallel
- Testing a change while continuing to refine it in another tab
- Avoiding context window exhaustion by splitting a large task across tabs
Free plan users are limited to one Dino tab per workspace.
Rebase and Conflict Resolution
When you apply changes from one Dino tab, other tabs working on the same codebase may now be out of date — their staging layer was based on an older version of the files on disk. Dino detects this and shows a rebase banner.
To resolve:
- Click Rebase in the banner
- Dino attempts an automatic rebase of your staged changes onto the new disk state
- If there are conflicts, Dino sends the conflict to the model for resolution — it reads both versions and produces a merged result
- Review the resolution, then apply when you’re satisfied
Since all changes live in memory until you apply, there’s no risk of data loss during a rebase. The worst case is a messy merge that you can discard and start fresh.
For more details on the rebase workflow, see Diff Review.