Now in free public beta

Every tool you run. One infinite space.

Terminals, Git, AI agents and docs — pinned to a canvas that never forgets where you left them. Tomorrow starts where today stopped.

Native macOS · Apple silicon & Intel · free during public beta

❯_ Terminal — zsh⌖ 100%
⑂ Git Graphfeat/cables
± Diff — CableLayer.swift+48 −12

func drop(_ thread: Thread, on window: CanvasWindow) {

− guard let target = hitTest(thread.tip) else { return }

+ guard let target = hitTest(thread.tip) ?? nearest(thread) else { return }

+ let cable = Cable(from: thread.source, to: target, kind: .data)

+ layer.attach(cable, animated: true)

}

// flow particles travel source → destination

− cable.state = .idle

+ cable.state = link.isLive ? .flowing : .resting

+ emitter.rate = link.isLive ? 14 : 0

▦ Planner — Beta sprint4
Wire CableLayer to agent diffs
Persist scrollback on quit
Flow particles on live links
Ship beta invites✦ assigned
✦ Claude Codeworking

read src/canvas/CableLayer.swift

read src/canvas/Thread.swift

planning the attach path…

edit drop(_:on:) — 2 files changed

test CableLayerTests · 12 passed

✓ diff ready — cable flowing →

◐ localhost:5173
01 · The map

This is your project.

Not twelve tabs. Not four desktops. A map you pan and zoom like territory.

02 · Terminal

Real terminals, pinned in place.

A live PTY with scrollback that survives the night. It's still here tomorrow.

03 · Source control

Git you can actually see.

Graph beside diff. Stage straight from the change. No modal in your way.

04 · Agents

Agents work on the canvas.

Claude, Gemini, Copilot, Codex — assigned from your planner, watched in the open.

05 · The system

Alone, they're windows.

Together, they're an environment shaped exactly like the problem.

06 · Cables

Cables make work visible.

Light flows from source to destination. You see progress without reading a log.

Tool windows

Seventeen surfaces.
Zero clutter.

Every surface is a focused native window — summoned when you need it, gone when you don't, always remembering its place on the canvas.

❯_ Terminal — zsh 01 / 17
~/dev/nullspace
 swift build
Building for debugging…
✓ Build complete (4.2s)

 git status -sb
## feat/cables…origin
 M src/canvas/CableLayer.swift

 

Core surfaces · 01 A real PTY running a login shell — ANSI colour, alt-screen TUIs, scrollback that survives the night.

Plugins

The core is just
the start.

Install free, sandboxed plugins from inside the app to add new powers — isolate agents in their own git worktrees, juggle Claude logins, drive the planner from an agent, or type by voice. All on-device, all free.

Git Worktree IsolationAgent isolation Free

Give every AI agent its own copy of the working tree, so parallel agents never collide.

  • One toggle runs each new agent on its own branch and checkout — even across a multi-repo folder.
  • A scoped diff per agent, then merge or discard the whole worktree in one action.

v1.0.0 · python3 · git · App 0.4.0+

Claude Multi-AccountAccount switcher Free

Keep several Claude Code logins side by side and switch the active one in a single click.

  • The usage gauge splits into a row per account, each with its own limit bars and reset clock.
  • Get a phone push the moment a paused account's limit frees up again.

v1.1.0 · python3 · App 0.4.2+

NullSpace TasksClaude skill Free

Let Claude Code read and drive the planner of the space it's working in — and keep you in control.

  • The agent ticks a live to-do list as it works, with focus files travelling with each task.
  • It can move a task to Review with a hand-off note — but never to Done. That call is yours.

v1.2.0 · python3 · App 0.4.6+

NullSpace VoiceVoice input Free

Talk instead of type — your words land at the cursor, transcribed entirely on your Mac.

  • Speech-to-text runs 100% on-device with Parakeet or Whisper — no audio ever leaves the machine.
  • Smart insert drops the transcript into whichever agent, task or editor has focus.

v1.0.4 · python3 · MLX · App 0.4.17+

Assign a planner task to any agent by a thread — the work flows back as a live diff.

Explore all four plugins
Free public beta — available now

Return to the problem,
not the setup.

Free during public beta · macOS 14+ · Apple silicon & Intel