AgentGraph: Lessons from Using It (2) - Robert Iancu
Robert Iancu
SubscribeSign in
AgentGraph: Lessons from Using It (2)<br>Which parts of the idea actually held up, and which ones I got wrong.
Robert Iancu<br>Jun 16, 2026
Share
In the previous article, I laid out a vision: run multiple Claude sessions at once, so you can work on several problems in parallel, keep everything organized, and fork from the same context again and again, indefinitely. This article is about what happened when I actually used the first version of that tool in my day-to-day work, and the lessons it taught me.<br>Let the wheel be
Initially I figured a tool like this should be provider-agnostic, able to run whatever agent you want, with whatever tooling you prefer, all in one unified interface.<br>Thanks for reading! Subscribe for free to receive new posts and support my work.
Subscribe
That was the first mistake. From the very first moment, the unfamiliar UI made me feel less productive, but honestly, that feeling was the smallest of the problems. Tools like Claude Code look like simple CLI programs, but they’re actually deeply interactive: tons of commands, constant back-and-forth questions, different font styling per operation (bash commands vs. explanations), and on and on.<br>I thought I could come up with a common, abstracted interface to cover all of it, and I actually played that card for a while. But eventually it hit me: the result was ugly and buggy, there was always more to cover, and these tools are in constant expansion. Pouring energy into keeping every native feature 1-to-1 with my own clunky interface was a bad “business” decision. Why reinvent the wheel when they’ve already done such a good job?<br>So: let the user keep the interface they already know. Just display Claude Code’s real interface and don’t touch it. And if you want to support multiple such tools, display those too. Replacing them was never the point.<br>First rule, then: don’t reinvent the wheel, and definitely don’t ship a square one.<br>Simpler structure, better experience
The second problem was the left pane, the graph itself. For my use case, a full graph was overkill; I needed something more like a file-system tree. The actions I want to execute create a very specific kind of graph, where forks only ever branch downward from a parent and never merge back, so what I really have is a tree, not an arbitrary graph. And displaying all of it on the left is expensive in screen real estate.<br>The new way of showing the relationships between sessions improved the UI a lot: it let me shrink the left pane, which now resembles VS Code’s Explorer. It also gives better search and visibility, letting you collapse whole trees of sessions, and it made the whole tabs part irrelevant.<br>For agents, press left arrow key
My desire to fix my own frustration, to make collaborating with LLM agents more efficient, pushed me in this direction, where I learned something that’s maybe a well-known fact to you already: the “for agents” view in Claude Code. The terminal itself is good, which is exactly why I just display it rather than rebuild it. But the “for agents” part is doing something similar to my own project, only on a smaller scale, and it’s still not mature enough. I genuinely like it, but it falls short in a few ways.<br>The good news: it’s already built into Claude Code, so there’s no need for a new tool. The bad news: it isn’t really tailor-made to address my problems.<br>You do have access to your sessions, all of them actually, but the list is kind of messy, and honestly a bit buggy.
The sessions show up in a seemingly random order.
The states are tricky, and this is where I suspect there are bugs: two finished sessions can end up in two different sublists.
You still don’t get an unlimited way to fork sessions, the main thing I wanted in the first place.
And there’s real value in being able to customize the UI’s behavior whenever you spot some little annoyance, which the native UI doesn’t really allow.
Conclusion
It’s interesting how one need I had led me to realize I’d already achieved part of it just by using the native features, and I hope my frustration is one others share, so that it gets addressed in future versions. It’s not ideal to work with a weird Electron wrapper just to scratch that annoying part, but the project itself was cute and cheap to implement. Along the way I came to understand the SDK behind Claude a bit better, which gave me a clearer sense of how these sessions actually work, and maybe next time I’ll dig deeper into it. It’ll be very interesting to see what engineering solutions they come up with to keep the current feel of the tool.<br>Thanks for reading! Subscribe for free to receive new posts and support my work.
Subscribe
Share
Discussion about this post<br>CommentsRestacks
TopLatest
No posts
Ready for more?
Subscribe
© 2026 Robert Iancu · Privacy ∙ Terms ∙ Collection notice<br>Start your SubstackGet the app<br>Substack is the home for great...