Splice Splice
All posts

Product · AI workflows

Why we built Splice

April 14, 2026

I'd been using Claude Code heavily for a few months. It's genuinely impressive — it can hold a lot of context, it writes real code, and when you point it at a problem it usually makes meaningful progress without hand-holding. But actually using it day to day in any existing editor was a mess.

The terminal output was the first thing. Claude Code is verbose. It thinks out loud, it shows you what it's running, it prints diffs. That's all useful — except that a busy Claude session would scroll my terminal so far up that whatever I was looking at before was just gone. I'd lose my place constantly. I'd be reading its output, go to check something, come back, and have no idea where I was. Every editor and terminal I tried handled this the same broken way: one continuous stream, scroll up to find history, good luck.

The formatting made it worse. Claude Code uses rich terminal formatting — colors, bold, italics, special underline styles, cursor positioning. Some terminals handled it fine. Others would randomly glitch: underlines appearing where they shouldn't, text going dim for no reason, cursor jumping to the top of the screen mid-output. I spent time debugging what I thought were Claude bugs that turned out to be my terminal mishandling escape sequences.

The organization problem

Beyond the terminal itself, I was constantly context-switching in the worst possible way. I work on multiple things at once — usually a main project, something experimental, and whatever's broken that day. With Claude Code that means running agents across all of them simultaneously, which in practice meant a pile of windows. A VS Code window for each project. A terminal window or two for each. Maybe iTerm with a few tabs.

Every time Claude finished something on one project and needed input, I'd have to find that window. Hunt through the taskbar, remember which terminal belonged to which project, figure out what state I was in. It sounds small. It adds up fast. And it completely kills the flow of actually doing the other work you're supposed to be doing while the agent runs.

VS Code was especially frustrating here. I like the editor. But it's not built for this workflow at all. The terminal panel is an afterthought — it's cramped, it lives at the bottom, and managing multiple Claude sessions in it means juggling tabs inside a panel inside a window. There's no good way to have your code and your agent side by side without constantly resizing things. And if you switch to a different project, you're opening a new window and starting over.

Building the thing I wanted

So I built Splice. The core idea is simple: each project gets a workspace. A workspace is its own self-contained environment — project folder, terminals, open files, layout, all of it. You switch between workspaces with a keystroke. Your terminals keep running. Nothing is lost.

That alone solved most of my daily frustration. I can have Claude Code running on three different projects and switch between them instantly. When an agent needs something, I go to that workspace, handle it, and go back. No hunting for windows.

For the terminal itself, I wrote one from scratch — Snakebite. The goal was simple: handle Claude Code's output correctly, every time. That meant implementing the full ANSI escape sequence spec properly in Rust, including the sub-parameters for underline styles that most terminals get wrong. It meant 10,000 lines of scrollback so past output doesn't just disappear. It meant rendering at up to 120fps on a canvas so heavy output doesn't cause the whole thing to stutter.

I also added attention hooks — Splice watches your terminal sessions and surfaces Claude prompts the moment they appear, so you're not constantly checking whether the agent needs you. When it doesn't, you're not bothered. When it does, you know immediately.

Where it is now

Splice is early. Two public releases. There's a lot left to build. But the core workflow — organized workspaces, a terminal that handles Claude's output cleanly, and awareness of when your agents need you — that's solid and it's what I use every day.

If you've felt the same frustration, give it a try. It's free and open source.