ThreadHop: local-first context sharing across coding agent sessions
Learn to connect isolated coding agent sessions with ThreadHop, a local app for shared chat history, search, organization, and context transfer across threads.
Overview
ThreadHop is a local TUI and CLI app that turns isolated coding-agent sessions into a connected workspace with a chat history view, cross-session Full Text Search (FTS5), a kanban board for session tagging, automatically extracted decisions and TODOs, bookmarks, and compressed handoffs.
In this demo, I want to show how conversation history can be reused instead of ignored. ThreadHop indexes local transcripts, lets you organize chats on a kanban board with simple states like backlog, in progress, in review, and done, and makes it easy to bring the right context into a new session — whether that is a bookmarked turn, the open TODOs and decisions a background observer has already pulled out, or a full handoff through the /threadhop:handoff skill that packages decisions, TODOs, ADRs, and cross-session conflicts so work can carry forward. The goal is to make multi-agent coding feel like one continuous workspace rather than a pile of disconnected chats.
Video
Transcript
Generated 3 months ago
Summary
Generating a talk summary...
View full transcript
I'll just show a clock for screen. Okay. So how many of you here use, coding agents in the terminal? In case of this is that's too big? Okay.
Yep. So I use this, and I have a lot of issues with this. Why I built something called Hub. Red Hat, it's completely open source. I'm not trying to sell you guys on anything.
Let's just close this. Yeah. So a couple of issues that I wanna point out before going any further is, keep these 4 words in mind. Search, bookmark, tag, and copy. So these are all the 4 problems that I have with, and my application solves this with the latest release.
With the next release, it might break, but, yeah, here it goes. Yeah. So, the application that I have is called ThreadHub, and the what I created is called ThreadHub. It's a session manager with a couple of other things, in there, especially the 4 quotes that I showed earlier. 1 of the things that I always run into is to search for the things that I've already spoken to cloud about.
Like, the cloud or JSONL files have a lot of information in them, and there is, like, no real way to go back and, look at that information, even if you take, yeah. I have multiple clock also. This is my other issue. So this is the native cloud search thing. And if I had to, ask about something that I have spoken to it in the last month and that might be hidden within the chat, It's it it has a difficult time to go find it out.
So it's it just it basically searches just the header. So if I search for something like FSD file, which is something that I searched before coming here, it has a hard time finding out. But within this, if it's okay. I misspelled it. FTS 5, for fair comparison.
Yeah. So this is a very common problem. I'm not sure why they haven't solved it. So, my the application that I have uses SQL like, which has this FTS by search, in built into it. And, it's really fast to like, the answer came up in 15.1 second and there's 15.1 millisecond.
Yeah. And it also has a fallback, fuzzy search. So if you were to do some mistakes, it will pick that up as well. So, this is primarily because I wanna go back and look at information that, I've already searched, and I've already found found that out. I can if I press if I go to that message, I can, look at what the actual message was and, it pulls that into the context to, see the entire thread.
And, that's the first issue that I was running into. And, second 1 is tagging. So, previously, as I showed here, I have a ton of 12 call sessions open almost all the time. I ask about something, and it doesn't make sense, so I have to open another session and ask more questions around it. So at the end of the day, there is this paralysis on.
If I close some session, I might miss out on some of the information that I have. So, there is no proper way to know what to pick up, when I come back to it tomorrow. So that's where the, tag command comes in. So I have this thing called right? Yeah.
Tag in review. It basically, adds, in review tag to this JSON into my SQL database so that tomorrow, when I want to restart something, I can just look at my session and see the interview things. I know it's a little complicated to look at here, so I there's also a Kanban board. You can, go back and look at what the time. Yes.
For the campaign board, you can go and look at the session, and this session also has the limited information on the header to show, basically, if you have a title and when you were last active in that session and how many terms of messages that you might have in that session. You can just press enter, go into it, and, there is, a couple of, I have to actually talk about the UI also. Right? So, yeah, this is the session manager. At the start, I asked it to, show sessions only from the last 2 days, but it can actually go back and look at your entire session history because all of these are already indexed in SQL.
It spins them up, like, really quickly. Let me just remove this command to show you. Oh, yeah. I have to pass some argument. Oh, yeah.
I I have it only shows, like, the top 25 or so. I have, like, a ton of sessions in there. That's basically the gist of it. And within these last 2 sessions, within the Kanban board, you can easily move 1, chat to another. You process most towards in progress and process again.
Oh, sorry. That's another thing. You can go to it and press s again. It'll cycle between basically the camera and board, that you can come back and, revisit later on. This has sort of helped me organize some of the chats that I know I need to come back and look at earlier.
But, if I want to look come back and look at just a message, that becomes, a little difficult in my colleague. If you, were to say, 1 of these messages in this entire Okay. Looking at 1 of these messages in this entire session, if it has some information that I have to come back to and, I have, like, no way of recording this because copying from a terminal is eyeing. There is there comes the next 1. Right?
Yeah. It'll bookmark this message, and I'm already at time. Yeah. 5 minutes. Your bookmark messages can, visible from here, and you can go back to this message to revisit that anytime you want.
And, yeah, I just want to quickly go with the last functionality that I have, which is what this entire talk was surrounded around, but I sort of pull it back. That that's the thing is that I have copy. So if I want to copy, I usually talk to Cloud Code in 1 session and do a lot of research, and now I wanna take this to another session and implement this. Usually, we dump it into markdown file and take it, but there is a lot of loss in terms of information in there. So that's why the copy command comes in play.
So if I just call that hub copy, it just, copies the last message, and I can say if I want to copy the last 3 turns of the conversation, it'll copy and post. Yeah. It'll copy that, which you can take it back into, another session, paste it. It will be there. Yeah.
You can see our system got it, etcetera. So this becomes a little easier to share. Yeah. This becomes a little easier to share, information across sessions so you don't have to start from nothing. And especially if you're doing research in another session and you're about to hit the context, it can be, it can be a pain to migrate to another session and do the work from the beginning.
So that's where all of this comes in. And, it's almost all of it. There are cool some cool things cool themes in there also. So, this is also available as a plug in plug in. So, 1 of the things that I also wanted to do from the beginning is not to ask users to leave out of their comfortable ecosystems that they are working in, which is, to record.
So everything can be run within here. Yes. Everything can be run within your native cloud code session. I have something, some some Easter eggs in there. So if you want future yeah.
It'll tell you what are the next 5 features that I'm working on. So, this is an open source repo. You can, I've I've released a version this morning. I'll share a QR code. You can scan this QR code to work with live.
Thank you so much. Can I ask this? How how hard to build the plugins for a lot of these things? The plugin is there. It says that I have to make it available within the marketplace.
Right now, I can use it, not you guys. But I'll probably by tomorrow or midnight, I'll make it available. You can you can follow this report if you it's the the install instructions are very, easy as well. But if you have any questions, you can message me on message me on LinkedIn or Twitter. I'll be able to help you.
Yeah. Just 1 small thing. This is completely local. Like, this is not sending info anywhere. Within the code, this is the only place that it's calling the Internet.
I mean, it's accessing the Internet, and that's to check if there is a newer release in there. So I know all of you guys are concerned about your cloud positions. I am like, I don't want this I want I don't want to send to another tool. Like, that's what Archie told me, before giving this talk as well. So it's the only place that caused the Internet.
It runs a SQL database in memory inside your system, more data leaks. At least that's what I hope so. If you you can run a cloud you can run a security view on your own. Questions? Any plans to, support Gemini, clients and codecs and, Yeah.
I I am working on, supporting codecs. The only thing, that this entire optics is inputs is the, chat JSON and files that it creates. And that format is a little different between all the providers. Class format is pretty standard. Is slightly different.
There are some some functionalities in there that I left it as. But, is native to plot. For codecs, I have to go through all of them. But, codecs is up on the list. I actually have it in terminal.
Yeah. Codec support somewhere, but it's not mentioned yet. Thanks.