Splice

Code editor

All your work.
One window.

Splice is built around workspaces — fully isolated environments with their own file trees, terminals, editors, and layouts. Switch between projects in a keystroke. Keep everything in context. Never lose your place.

Workspaces per window

Siloed

State per workspace

Native

Rust + Tauri backend

0ms

Context switch time

The workspace

Your work is parallel. Your editor should be too.

Most editors give you one context. You juggle windows, fight for screen space, and lose threads. Splice gives you workspaces — each one a complete, isolated environment with its own file tree, terminal sessions, editor tabs, and pane layout.

Frontend and backend in separate workspaces. Client A and client B. Agent running a long build in one terminal while you write code in another. Everything lives in one window — organized, not crammed.

Switch workspaces in a keystroke. The state you left is exactly where you left it.

Full isolation

Each workspace has its own root folder, file tree, open files, terminals, and pane layout. Nothing bleeds between them.

Instant switch

Cmd+Opt+Shift+Arrow to move between workspaces. Your terminals keep running, your editors hold their state. No reload, no reconnect.

Arrange how you think

Each workspace has its own binary tree pane layout. Split terminals and editors any way you want — per project, per context, per workflow.

AI workflows

Run agents across workspaces. Know when they need you.

When you run Claude Code across multiple terminals — spanning multiple workspaces — Splice tracks each one. Permission requests and idle states surface as inline notifications in the footer, with the affected terminal identified. You stay focused until something actually needs your attention.

Inline notification

# Footer bar — always visible

● permission · Terminal 2 Bash(npm run build)

Dismiss with any keypress in that terminal.

Multiple agents

# All surfaced in one place

permission · Terminal 1 · workspace/api

idle · Terminal 3 · workspace/ui

permission · Terminal 5 · workspace/infra

+2 more ↑

Features

Built to stay out of your way.

Pane layout

Binary tree splits

Split any pane horizontally or vertically into a terminal or editor. Drag to resize from edges or intersection corners. Zoom any pane to full screen and back. Spatial navigation between panes with Cmd+Opt+Arrow.

split H / V drag resize pane zoom spatial nav

Terminal

Custom emulator

A ground-up terminal emulator built to match the workspace's demands. VTE parser, Canvas 2D renderer, binary frame protocol over Tauri events. Full xterm-256color parity — because agents and build tools expect a real terminal.

xterm-256color truecolor 10K scrollback ~120fps

Editor

CodeMirror 6

Syntax highlighting for TypeScript, Rust, Python, HTML, CSS, JSON, and Markdown. Minimap, indent guides, bracket matching. Tab drag and drop — move tabs between panes or create a new split by dragging to an edge zone. Git branch indicator and recent files per workspace.

TypeScript Rust Python minimap indent guides tab drag & drop

File explorer

Per workspace

Each workspace opens its own root folder. Tree view with indent guides, folder expand/collapse, and single-click preview tabs. File system watching keeps the tree in sync automatically. The explorer is part of the workspace — not a global panel.

workspace-scoped preview tabs file watching indent guides

Command palette

Cmd+K

Quick access to actions — new terminal, new file, open folder, split pane, navigate. Keeps you keyboard-first regardless of what's on screen.

Cmd+K keyboard-first

Keyboard

Everything reachable without the mouse.

Navigate to adjacent pane

Cmd+Opt+Arrow

Switch workspace

Cmd+Opt+Shift+←/→

Toggle pane zoom

Cmd+Z

Focus pane by index

Cmd+1–9

Command palette

Cmd+K

Toggle file explorer

Cmd+B

New file

Cmd+N

Settings

Cmd+,

Stack

Rust where it counts.

Native Tauri app — not a web app in a shell. The backend owns the PTY, the terminal parser, and the workspace state. The frontend handles layout and rendering. Sharp division, no blurring.

Tauri v2 + Rust

Native macOS app. PTY management, VTE parsing, workspace persistence, and the attention server all live in Rust. No Electron.

Svelte 5 (runes)

Frontend built with Svelte 5 runes. Fine-grained reactivity. Binary tree pane layout rendered recursively. Tailwind CSS v3.

Canvas 2D terminal

Custom terminal renderer. Cells decoded from a compact binary frame protocol. No DOM elements per character — full grid repaint up to 120fps.

CodeMirror 6

Editor panes powered by CodeMirror 6. Syntax highlighting for TypeScript, Rust, Python, HTML, CSS, JSON, and Markdown. Minimap, indent guides, git branch indicator.

Download

Get Splice.

Build from source

# Prerequisites: Node.js 18+, Rust stable, Tauri CLI

git clone https://github.com/adrianhajdin/Splice

npm install

cargo tauri dev

Production build

cargo tauri build

Platform

macOS. Linux and Windows support planned.

License

MIT. Free to use, fork, and modify.

Source

github.com/adrianhajdin/Splice