<p>Most AI coding agents give you a conversation that works like a typewriter: a single line of text, marching forward. You can scroll up to read it, but you can't really <em>go back</em> — and if you do back up, whatever came after is gone. Try a different approach to a problem and you either start a fresh chat (losing all your context) or keep going and pollute the one you have.</p><p>Elyra works differently, and <code>/tree</code> is where you see it. Your session isn't a line. It's a tree. And once you've worked that way, the typewriter feels like writing in pen.</p><h2>The quiet architectural choice</h2><p>Under the hood, an Elyra session is stored as a tree: every entry knows its parent, and branches happen <em>in place</em> — no new files, no "save as." That sounds like a storage detail. It's actually the foundation for the most freeing way to work with an agent that exists right now.</p><p>Here's what it buys you. Every time you rewind, fork, or replay, you don't overwrite history — you branch off it. The path you were on is still there, intact, one keystroke away. <code>/tree</code> is the map of all those paths:</p><pre><code class="language-text">/tree
</code></pre><pre><code class="language-text">● Add user registration
├─ Use Lucia for sessions
│  └─ Write the migration
└─ Use a JWT approach          ◀ you are here
   ├─ Add refresh tokens
   └─ Add refresh tokens (Haiku replay)
</code></pre><p>That's not a mockup of a feature we wish we had. That's the session tree, drawn in your terminal, every branch navigable. Pick any node, hit enter, and you're back there — conversation <em>and</em> files restored to that exact moment.</p><h2>Why this is gold (and most agents don't have it)</h2><p>The difference is the difference between <strong>exploration</strong> and <strong>commitment</strong>.</p><p>In a linear agent, every decision is load-bearing. Asked it to use JWTs and now you're curious about sessions instead? Your options are bad: undo and lose the JWT work, or start over and lose the context that got you here. So people don't explore. They commit early and hope.</p><p>In Elyra, exploration is free:</p><ul><li><p><strong>Tried an approach that didn't pan out?</strong> <code>/rewind</code> to before it, try another. The dead end stays in the tree — sometimes you come back to it when the "better" idea turns out worse.</p></li><li><p><strong>Want to compare two designs head to head?</strong> Branch, build both, and flip between them with <code>/tree</code>. Two real implementations, side by side, not two vague memories.</p></li><li><p><strong>Curious whether a cheaper model handles this turn?</strong> <code>/replay haiku</code> branches off and re-runs it on Haiku — the original stays put. Now you've got both results in the tree to compare, cost and all.</p></li></ul><p>The typewriter forces you to be sure before you act. The tree lets you <em>find out</em>.</p><h2>It's git graph for your conversation</h2><p>If you've used git, the mental model is instant: most agents give you a single mutable <code>HEAD</code> and no branches — every commit overwrites your working state and there's no <code>git checkout -</code> to go back. Elyra gives you <code>git log --graph</code> for your conversation, with branches you can actually switch between, and a working tree that follows along.</p><p>And like git, the value isn't that you'll branch constantly. It's that <em>knowing you can</em> changes how you work. You stop treating every prompt as irreversible. You try the risky refactor, the weird idea, the second opinion — because the escape hatch is always one <code>/tree</code> away.</p><h2>Living in the tree</h2><p>A few touches that make it pleasant in daily use:</p><ul><li><p><strong>Filter the view.</strong> Long sessions get noisy, so <code>/tree</code> filters: everything, user turns only, labeled points only, or hide the tool calls. You see the shape of your thinking without the machinery.</p></li><li><p><strong>Branch summaries.</strong> When you switch away from a branch, Elyra can summarize what happened on it first, so the path you're leaving doesn't become a mystery later.</p></li><li><p><strong>Double-escape to open it.</strong> With an empty input, a quick double-Escape jumps you into the tree (configurable) — navigating your own history becomes a reflex, not a command you have to remember.</p></li></ul><h2>The honest caveat</h2><p><code>/tree</code> shines in long, exploratory sessions — debugging, design, big refactors. For a quick one-shot fix you'll never touch it, and that's fine; it's there when the work gets branchy, not in your way when it doesn't. And branching keeps history, which means long sessions accumulate — but that's what the filters and <code>/compact</code> are for.</p><h2>The takeaway</h2><p>Most agents make you treat a conversation like something fragile: don't go back, don't experiment, don't lose your place. Elyra makes it something you can move around in freely — because the session is a tree, every path is preserved, and <code>/tree</code> is the map.</p><p>The best ideas rarely come from the first branch you try. An agent that lets you keep all of them, and walk back to any of them, isn't just more convenient. It changes what you're willing to attempt.</p><p>Set a goal, try the bold thing, and if it doesn't work — <code>/tree</code>, and you're somewhere better in seconds. Nothing lost. That's gold.</p><p>Happy building (and happy branching).</p>