NullSpace Changelog

1.0.0

Current release 10 August 2026 · macOS 14+ · Apple silicon & Intel

The public beta shipped in June as 0.5.12 — a canvas that held your terminals, your repositories and your agents. Everything since has gone into the questions that come after that: where do agents actually run, how much of your quota is left, what happens when you walk away from the desk, and what the front door should look like when you come back. This is all of it, in one page.

296commits
5repositories
9weeks
23tool windows
$0during the beta
01

The canvas

The board you actually work on

Stages — split the screen without giving up the canvas New

⌘⇧S turns the area you are looking at into a stage: a framed rectangle whose windows are tiled instead of stacked. "Put four agents on screen" is one pick from the split picker — two columns, two rows, main + stack, four, six, eight — and the windows already standing there are seated in reading order. An empty cell offers a +, and the header's ✨ button fills every empty cell with a fresh agent at once.

Inside a stage the windows behave like tiles: drag one onto another to swap, drag it out to set it free, drag a free window in to give it a cell. Everything outside the frame is the infinite board it always was — a space can hold as many stages as you like, and ⌘1–⌘9 fly to them. Closing a stage keeps every window exactly where it is: a stage frames windows, it never owns them.

A light theme New

Settings ▸ Appearance grew a Theme card: the original dark "deep space" look and a new light paper look, both built from the same brand hues and switchable live — the launcher, the canvas, every window and Settings follow at once. Terminals keep the dark surface in both themes on purpose: that is the brand desk, and light text on the void stays easiest to read.

The text window is a proper note New

A window with no file behind it is a note, and it says so: prose soft-wraps by default, the window names itself after the note's first line — so a board of notes is readable from a zoomed-out camera — and a title you typed yourself is never overwritten. A note is kept by the space itself, so there is nothing to press; Save to file… binds the window to a file, which from then on saves itself a beat after you stop typing.

Terminal v2 — a real cell model Improved

The emulator was rebuilt as a pure rows × cols grid with absolute cursor addressing, a scroll region and an alternate screen, painted by a custom view instead of a text system. Full-screen programs — Claude Code, vim, htop, less — render correctly and a live resize no longer freezes the TUI in the foreground. Drawing a frame went from 6.6 ms to 1.2 ms.

Photos are objects on the board Improved

Dropped images are frameless cards now — no window chrome around a picture, drag and resize with the proportions kept, and they snap to their neighbours like anything else. A reference shot belongs on the canvas next to the code that has to match it.

Quieter chrome, one control grammar Improved

The toolbar dropped its reset-view button (the zoom HUD, the tool dock, the shortcut and the palette all do it already) and the permanent "no saved places yet" sentence; the zoom HUD is one compact row. A plain terminal's Restart / Fast Run / gear strip appears while the pointer is over the window instead of sitting on every terminal for ever. Every status chip in the top bar — Stay Awake, the limits gauge, your activity clock — now shares one height, one corner and one fill, so they read as an instrument cluster rather than three strays.

A window answers the first time you touch it Fixed

Clicking a window you had not used yet left it dead for about a second, then behaved perfectly ever after. Nothing was hung: a space brings its windows online in a queue, and a click landing on one still waiting in that queue had nothing to answer it. Reaching for a window now brings it online immediately, ahead of the queue, and a window that is still coming up says so with a moving bar instead of looking finished and ignoring you.

The wheel works inside an agent window Fixed

A window running an AI agent — or vim, less, htop — hands its whole screen to that program, so a scroll gesture landed on nothing: the window did not budge and the program was never told the wheel had turned. The terminal now reports the wheel the way every other terminal does — as mouse events for a program that asked to see them (Claude Code asks from its first frame), as cursor keys for one that did not. Reporting also leaves with the program that switched it on, so a killed agent cannot leave the wheel dead behind it.

Selecting a window no longer re-renders the board Fixed

Every mouse-down rewrote the entire workspace to raise the window — even when it was already on top, which is every click after the first. It raises in place now and writes nothing when the stack does not change. Windows also cost less to open: the file tree keeps its listing until its watcher says otherwise, a Markdown document parses when the text changes rather than on every re-render, and a code window paints first and colours a beat later.

02

The front door

The launcher became a canvas

The main menu is a canvas New

The front door stopped being a page of panels and became the thing it opens: the same dotted grid, the same camera, the same window chrome, the same magnet. New space, your environments, background loops and the learning shelf are real windows on it — drag them by the header, resize from any edge, roll one up, close one you never use. The one deliberate difference from a space: this world is finite, exactly 150% of the window, with a dashed edge showing where it ends, so nothing is ever lost in the void.

Your environments, as a terminal New

Recent spaces are an ls -t now: one mono line each with age, window count and time spent, a > selector you drive with ↑↓ and open with ↵ (⌘1–⌘9 still jump), and an idle prompt with a breathing cursor closing the panel. Drop a folder anywhere on the board to open it as a space.

A plugins rack, and the gauges you ask about before you start New

A Plugins window shows what is installed, what has an update waiting and a short shelf of what is worth adding — every row one click from its own page. And the two questions a working day opens with, "how much agent have I left?" and "is this Mac about to sleep on me?", are answered in the front door's own top bar, reading the same engines and opening the same panels as inside a space.

Settings ▸ Main menu New

The front door is a canvas, so it has a canvas's questions and now its own page to answer them: where the camera opens (whole board · actual size · where I left it), whether the magnet is armed, whether the connection threads are drawn, whether the lattice shows, which windows are on the board at all, and one button to put the shipped composition back. Every control drives the live board behind the window.

The front door went on a diet Improved

The board now opens with three windows — New space, your environments and the learning shelf — instead of seven. Plugins, background loops, agent limits and the activity readout are still one right-click away; they just no longer greet you as a wall of dashboards.

Your arrangement is kept, in full Improved

Every window's position and size, which are open, which are rolled up, what is stacked on top and where you left the camera all come back exactly as you left them. The board's magnet ships off, on purpose: a space's magnet is a working tool, but the front door is a composition, and a magnet is exactly what takes a few points of taste away.

Right-click is the add-window menu Improved

The launcher used to answer a right-click with a plain list of rows. It now answers with the same panel language a space uses: a tile grid of windows you can put down, wide rows for what is already on the board, and the reset action under a hairline.

03

Agents & work

Quota, control, delegation

Agent limits, rebuilt as a head-room dashboard New

The limits plate used to be three flat bars. It is a proper read of where an agent stands now: a live status head, its rolling windows as concentric head-room rings with a marker at each arc's head, the same windows as numbers with their exact reset clock — and a burndown of how that head-room actually fell over the last 24 hours or 7 days, with a dashed projection of where the current pace lands ("At this pace Opus runs out at 08:47").

The trail is real: every poll is remembered on-device, and gaps — the app closed, a window reset — break the line instead of faking a slope. The toolbar popover became a panel with an Overview that compares every agent side by side, plus a tab each. Nothing leaves the Mac.

Every window has a name, every agent a readiness New

Windows carry a callsign — Claude 2, Terminal 1 — minted once and never rewritten, so closing Claude 2 leaves Claude 3 alone. Work handed to an agent is aimed by that name, by the title you gave the window, by a number word or by "this one", and the resolver reports ambiguity instead of guessing: bare "claude" with three open asks which, because handing a task to the wrong agent interrupts work no undo brings back. Readiness (ready · busy · blocked · offline) comes from the agent's own lifecycle hooks — a free agent is typed into at once, a busy one queues, and one sitting on a permission prompt is refused with nothing typed.

Scheduled runs — Loops New

A loop is a prompt plus a schedule plus its launch settings. Loops run in the background with no space open, live in a right-edge drawer on the launcher, and open a live window on demand when you want to watch one. Each loop's settings live inside its own opened window.

The launch panel reads the agent, not the card Improved

Its three faders used to open blank and park in the middle even when the window was plainly announcing "Opus 5 (1M context) with xhigh effort" — they only ever reflected what NullSpace had pinned. They now show what the agent is actually running, read from the agent's own startup banner, the permission caption under its prompt box, its transcript, the live process's command line and its configuration for that folder, merged freshest-first. A /model mid-conversation overtakes the banner on the spot.

Picking a permission mode actually applies it Improved

Bypass, auto, accept-edits and ask have no runtime command in the CLI, so the pick used to be filed away for "the next restart" and, until you pressed Restart, did nothing. Choosing one now relaunches the agent with that mode and resumes the window's own conversation: the mode really changes and the chat is still there.

The ⌘F palette, redesigned Improved

A full visual overhaul: frecency ranking so what you run often rises, filter chips, and fuzzy match highlighting. Stages are listed in it too, so a split you made three screens away is one search from being flown to.

Fast Run is space-level Improved

Saved commands are a persistent palette shared by the whole space rather than a per-window list, in a redesigned window that streams output where you placed it.

Focus files you can switch off Improved

The task window's Ping to Agent list has a toggle beside every attached file, with an on-count in the header. Flick one off and it stays on the list — dimmed and struck through — but is left out of everything handed to the agent. Toggle it back any time; no need to re-find the file.

04

The phone

The companion nobody else ships

Agent vitals on your phone New

The status mirror now carries each agent window's runtime model and its live context-window occupancy, read from the same machinery as the window's own context chip. The mobile Workspace shows what every agent is running on and how much context it has left — from anywhere.

The head-room dashboard, mirrored New

The phone gets the agent-limits home screen the desktop panel shows — the same rolling windows, the same reset clocks and the same burndown line, smoothed over integer-percent samples so the chart reads as a slope rather than a staircase.

Tasks you can actually drive from the phone New

Planner tasks are editable from the companion, with a real to-do checklist you can tick off in the task sheet. Desktop tasks that are not pinned to an agent can be edited from the phone too — retitled, re-described, moved along the board — and the desktop applies the change to the live planner.

A floating tab dock, and Alerts redesigned New

The companion moved to a v2 shell: a floating tab dock with a NullAgent portal in the middle, and an Alerts screen rebuilt around what you actually do with an alert — see which agent wants you, read the line it stopped on, answer it.

The thinking dots stop when the Mac disappears Fixed

A turn that lost its desktop mid-flight left the phone waiting for ever. The desktop's goodbye is honoured now and abandoned turns expire, so the phone says what happened instead of animating at a Mac that went to sleep.

A verification instance can no longer post to your account Fixed

Screenshot runs of the app published their fixture agents into the real account, so phantom demo tasks appeared on people's phones. Publishing to the phone is now gated on the instance being a real session.

05

Stay Awake

A new power plugin

The engine — awake while there is work, asleep after New

Unlike every caffeinate wrapper, Stay Awake does not guess from CPU load. The canvas already knows an agent is mid-turn, a background loop is running, or an agent is blocked on your answer — that ground truth is what holds the machine up, and a question nobody answers stops counting after 30 minutes. Sleep-when-done runs a real countdown with a start-up grace and a quiet grace, so the flapping between an agent's turns cannot cancel it.

A Safety Governor sits above everything: critical heat stops the hold (without forcing sleep — a hot Mac cools better awake), a battery floor gets the alert out before putting the Mac to sleep, and "only while charging" suspends and resumes by itself.

Night watch — a working Mac that doesn't look like a sleeping one New

Holding the system awake never touched the display's own idle timer, so a Mac deliberately working through the night still went dark two minutes after you walked away — and a dark screen is exactly what a sleeping Mac looks like. Switch Night watch on (Settings ▸ Plugins ▸ Stay Awake, the Stay Awake lane in the menu-bar panel, or the chip's own panel — off until you ask for it) and the screen shows the time, the date, and what is still working by name, over a still starfield, with the backlight taken down to a fraction of the level you had it at: 50% by default, never to zero, and put back the moment you return unless you moved it yourself meanwhile.

Any key or a nudge of the mouse ends it — and the keystroke is swallowed rather than delivered blind into an agent's terminal, with the app you were in brought back to the front. It never appears over a Mac that is free to sleep, never behind a closed lid, and it stands down entirely for anything deliberately holding the display awake: a video, a call, a presentation.

A menu bar that answers "is my Mac going to sleep tonight?" New

An icon that changes with state — sleeping moon, holding cup, closed-lid laptop, amber warning — beside a readout that names what is keeping the Mac up, with live battery, temperature, CPU, fan and lid chips that keep moving while it is open. Closed-lid mode asks for its one-time administrator approval properly: a short ask, then a full explanation showing the exact rule being installed, with "Don't offer again". Removing the plugin puts the machine back.

One icon in the menu bar, not two Improved

Stay Awake used to hang a status item of its own beside the brand mark: two Null Space icons in a bar that isn't ours to fill, and "what is this Mac doing" split across both of them. Its readout and every control that isn't a safety floor now live in the panel the brand icon already opens — one icon, one answer. The row is the state, a four-word summary and the master switch; clicking it unfolds the full engine sentence, the mode (Off · Auto · Manual · For…) with its timer presets, what is holding the Mac by name, and this machine's battery, temperature, CPU, fan and lid. The setting that used to hide that second icon while nothing was holding the Mac went with it. The engine is unchanged.

In the canvas toolbar, beside the limits gauge New

The two questions a running canvas keeps asking finally answer side by side. The chip reads the state at a glance (Off · Awake, with what is holding it or the time left · Winding down · Stopped) and opens a panel with the modes, what is keeping the Mac awake by name, the live readings and the closed-lid and charging switches.

06

Voice

Dictation that left the app

Dictation now works in every app, not just in Null Space New

NullVoice used to be able to type into our own windows and nowhere else, which meant switching to a different dictation tool the moment you left the canvas. Hold ⌃⌥D anywhere on the Mac — Slack, Xcode, a browser field, somebody else's editor — and the text lands at the caret of whatever is focused. Insertion tries the accessibility API first, falls back to a paste, and finally types the characters, so it works in fields that refuse the polite routes. ⌃⌥V dictates and pastes without touching the clipboard you had.

The indicator that appears while you speak floats over the app you are actually in without taking focus from it — a field mid-edit stays mid-edit — and it is now a third of the size it was: a readout, not a window in your way.

NullVoice learns the words it has never heard of New

A speech model that has never met your product names writes down something close and wrong, every single time. The dictionary fixes a word once: you say it, and the correction is stored as sound rather than a spelling rule, so it survives being said quickly, slowly, or inside a sentence. The panel is the plain thing it should be — the word, and a button to delete it.

Both microphones can take the room's sound with them New

Nothing in Null Space cancels echo, so a video playing in the next window lands in the recording and the model writes down whatever it hears. NullVoice and NullAgent each carry a switch that silences everything else coming out of the Mac for exactly as long as they are recording, then puts the volume back. Off by default in both places — it reaches outside the app to change a system-wide setting.

The two hold it differently on purpose: NullVoice for the whole dictation, NullAgent only for the length of your sentence, because its microphone stays open between turns and muting all of that would silence its own reply. A Mac you had already muted is left as found, a volume you change mid-sentence is not stamped over on the way out, and a hold that somehow loses its release is dropped after three minutes rather than leaving the machine silent.

NullVoice has its own page in Settings Improved

It sits in the rail beside NullAgent instead of being an entry you had to know to look for inside Plugins. Dictation is something you use every day; where it was filed was an internal decision showing through the UI. The plugin's catalog page keeps install, enable and remove, and now points at the page rather than drawing a second copy of it — two identical pages is how a setting gets changed in the one you aren't looking at.

07

NullAgent

Voice on the canvas — in preview

Not switched on yet. NullAgent is built, running and in daily use on our own machines, but it is the one part of 1.0.0 that is not live for accounts: it thinks and speaks through metered providers, and we will not turn that on until billing is in place. Everything below has shipped in the app — it lights up for everyone the moment the gateway opens. The dictation plugin (on-device) is available today.

A voice agent that stops paying for silence Preview

The first engine held a speech-to-speech socket open and billed by the minute whether anyone was talking or not — a conversation you forgot about cost more than one you used. The new cascade hears on your Mac (local voice-activity detection into the Voice plugin's warm speech model), thinks in text, and speaks through a synthesis API, so an idle session costs nothing at all.

Roughly a dozen stock commands — "open a terminal", "how much limit is left" — never reach a model at all: they are matched on-device and run immediately, which makes the things people say most often faster than the socket they replace, and impossible to get wrong. Everything else runs on a reflex model that answers in well under a second and hands the turn to a stronger one when it needs to think, when a tool comes back failed, or when you repeat yourself — the clearest signal that something was misheard.

Two switches on the microphone, and you own both Preview

⌘N talks to it. The bar carries a mute master switch — muted, nothing is streamed or transcribed at all — and hold to talk (⌃⌥ by default) keeps the mic shut between presses. Holding the chord is also the barge-in: it stops NullAgent mid-word, cancels the turn it was working on, and opens the mic for as long as you hold it. A shut mic never takes the agent's line any more, and a conversation merely waiting for you reads as standby rather than work.

Pick the voice, not a hash Preview

Choosing who it sounds like used to mean pasting a 32-character id copied off a website. Settings ▸ NullAgent now browses the live voice library — Popular, New, or your own — searchable by name and filterable by language, with each entry playing its author's own sample. Auditions never touch the metered endpoint, so you can listen through twenty voices for nothing. The speech model is a choice too, with the free tier on the table and honestly labelled.

A companion on the minimap Preview

A little pixel figure sits on the top edge of the overview map — the map's own edge is his ledge, his legs hang over it — and acts out what the agent is doing: perks up when it is listening, works something out while it thinks, taps away while it runs a tool, waits when the microphone is shut, cheers when a turn lands, and sleeps when there is no conversation at all. With nothing asked of him he fidgets. He never takes a click, so the map under him still leaps you anywhere.

Answer from your phone Preview

The companion app's NullAgent screen talks to the real agent — this one, on this Mac, with the same tools — and comes back with what it said and every tool call it took, so the phone can list what actually happened to your canvas. Text, not voice: a typed turn costs one request, while a phone session on a realtime socket would stream audio for its whole life. The desk sees "From your phone" while such a turn runs, so anyone there knows the canvas is about to change and why.

The provider keys moved off your Mac Preview

NullAgent used to need your own API keys pasted into Settings. The keys now live server-side behind the account, metered per call and capped per session, so the feature can ship to people who have no interest in holding provider credentials. This is the piece that is waiting on billing.

One agent, one pair of models — and the operator owns them Preview

Which model NullAgent thinks with is a pricing decision, not a preference: it decides what a turn costs us. The plan now carries the models and the gateway enforces them, so a request that names something else is rewritten rather than trusted. The same cascade answers the microphone on your desk and a typed turn from your phone — one code path, one set of tools, one bill.

Settings ▸ NullAgent shrank to match: seven cards that were choosing models, thinking budgets, speech engines and costs are gone, because none of them were yours to choose. What is left is what belongs to this Mac — the microphone, the voice, where the bar sits.

A feature your plan doesn't include says so, and opens something worth reading Improved

Settings ▸ NullAgent used to be the full pane with a refusal banner on top: a microphone threshold, a voice library, a bar placement and a "Test thinking" button, all live, none of them attached to anything that would ever run. On an account without NullAgent the rail row now carries a small padlock and the page behind it is short — what NullAgent is in three sentences, the plan it comes with, and two buttons: See plans, and Check again for someone who has just upgraded. An account without him doesn't get an agent bar on the canvas at all, rather than a strip that refuses to work.

08

First run

Introducing the product it actually is

The walkthrough is built for the account taking it New

The tour used to be one fixed list of fourteen stops, identical for everybody: it talked about NullAgent to accounts whose plan doesn't carry him — so the strip it pointed at wasn't even on their canvas — described plugins as if they were installed, and finished without ever showing an agent window, the thing the product is for. It is now assembled per account. Your plan, whether the e-mail is confirmed, whether NullAgent is in that plan, which plugins are on this Mac and which the catalog can still install are all read at the moment you start it — including the plugins you picked in the welcome guide a minute earlier.

Seven chapters instead of a march: the space · your windows · agents · Git · plan & automate · hands free · make it yours — around forty stops that between them cover the split view, the magnet, the window catalogue, an agent's command dock and the windows you drag off it, agent names, chats, limits, the repo graph and its Changes, task cockpits, Fast Run, the phone, the menu-bar panel, the settings pages and the keymap. Each chapter opens on a card listing what's inside and offers to skip it, ⇧⌘M opens a map with ticks for what you've seen, and leaving halfway is fine — the shelf then says Resume the tour.

What you haven't got is shown, not hidden New

A stop your account can't use keeps its place and says what it is, what unlocks it and why you'd want it, with the one button that opens it: Install it now — which installs from inside the tour and makes that very stop live a second later — or See plans, or Manage account. Nothing is quietly skipped, so nobody finishes the tour with a smaller idea of the app than they paid for, and the closing card lists exactly what is still closed on your account, each with its door.

The panel that replaced the old bubble tells you where each thing lives as well as what it does, can be dragged anywhere, moves itself away from whatever is lit, and for anything you'd struggle to guess — the pan gesture, a picker that only opens on right-click, a handle that has to be dragged — it offers Show me and does it once, in front of you.

A welcome guide in eight steps New

The first-run card is rebuilt as eight steps you page through: Welcome (with your plan and account state stated up front), Your Space (the chrome, the surface, the dock and the agent bar, labelled), The windows (the whole toolkit, grouped), The cables (three real workflows lit up on a live map), Agents (a window with its command dock annotated), Plugins (the real catalog, installable in place), Make it yours (live preferences) and Start. A named chapter rail doubles as the table of contents, and nothing scrolls.

An interactive Guidebook New

A handbook in its own window: an Overview with a live animated canvas, a Windows chapter with a card per window kind, a Connections map that lights the cables between windows as you hover, and a shortcuts reference read live from your own keybindings. Every chapter has a "Try it live" button that opens the demo space at the matching step.

The guide ends in a choice, not a forced tour Improved

The last step offers three doors — open your own project, take the live tour on a demo space, or read the Guidebook — instead of launching the walkthrough and then throwing the plugin catalog and the handbook at you afterwards.

The guide now describes the app that exists Fixed

Its picture of a space was drawn from an older canvas — a search button that is not in the top bar, a dock of the wrong five tools, a cable map with a pipeline that has not been the shape of the Git cluster for months. It is redrawn from the real canvas, and every piece demonstrates itself when you point at it. The plugins step reads the live catalog, so it can no longer advertise a plugin that has not shipped.

09

Account & delivery

Getting the app, and keeping it safe

A plain .zip download, for people who do not paste curl into a terminal New

Your cabinet now offers a browser download alongside the one-line install: a signed bundle carrying the app, a double-clickable installer and a picture-led README, with a modal that asks you to read it first. Same build, two ways in.

Operator tools behind two-step sign-in New

The Control Room gained a second factor and scoped operator tokens, an AI-usage view, and a lifetime picker for impersonated download links — a support link can now be minted to expire in an hour instead of living for ever.

Strict transport security Improved

Every response from the site and the API carries HSTS, so a first request over plain HTTP cannot be downgraded on a hostile network.

The site runs the canvas Improved

The homepage's demo is not a video: it is a working replica of the board you can pan, zoom, drag windows around and type into, framed in a real screen's proportions. A phone gets a different build of the same scene — a camera that walks the board for you, with a stop button — because a shrunk desktop board is unreadable at that size.

This page Improved

Work that only exists in a repository does not exist. From 1.0.0 the changelog is public and lives here.

10

Also fixed

The rest of the list

Deleting a space takes its planner with it Fixed

A space's board is mirrored into the project folder, not into the space — so deleting the space left it behind, and the next space opened on the same folder adopted every task in it: deleted tasks walking back into a brand-new planner. Deleting a space now clears its planner state, the bridge file carries the id of the space that owns it, and opening a space sweeps up exports nobody claims. Deleting one task is a single update now, with the disk work off the main thread.

Text windows can be typed into again Fixed

The editor's text view was never made vertically resizable, so it collapsed to nothing: clicks landed behind the text, the caret could not be placed, and the keyboard went to whatever held it before — usually a terminal. A window that looked like an editor, with a caret drawn in it, quietly swallowed everything you typed.

The keyboard follows the window you click Fixed

Selecting a card only moved the focus ring; it never touched the real first responder. Clicking a code or text editor left every keystroke going to the terminal. Selecting a window now hands the keyboard to that window's editor — so you can type where you clicked — and clicking inside an editor places the caret where you clicked.

Closed-lid setup actually opens Fixed

The dialog asking for one-time administrator approval was run as a nested modal from inside AppKit's own tracking loop, so it drew perfectly and no button worked. It is an ordinary floating panel now, with three ways to leave it, and the macOS password prompt that follows no longer blocks the main thread.

The stars stopped teleporting Fixed

Typing into the sign-in form re-created the star field, and each re-creation rolled a brand-new random sky — so every keystroke scattered the stars. The sky is rolled once per launch now and only drifts.

Running the app from a terminal is quiet again Fixed

Every launch printed a running commentary of ordinary work, which buried the one line you were looking for. Routine progress is silent unless you ask for it; real failures — a corrupt file, a failed save, a restore from backup — still print, because a data problem should never be silent.

An agent window binds to its own chat Fixed

A window whose agent had not written its transcript file yet counted as unbound, so the dossier, context chip, cache ring and diff fell back to "the newest transcript in this folder" and adopted a co-located stranger's conversation. The binding is now kept from the moment the window launches its agent, and the context window is sized to the model the agent is really running.

The drop preview matches the window that lands Fixed

Dragging a folder in from Finder showed a generically sized landing preview that did not line up with the Files window it opened as. The preview resolves the kind up front now, so the dashed footprint always matches the real window.

A split takes in everything you can see in it Fixed

Making a stage seated only the windows whose centre fell inside the new frame, so anything straddling an edge — which, at a normal zoom, is most of what is on screen — was left lying loose on top of the tiles, and the split read as having done nothing. Windows are seated by how much of them is in the frame now.

"Personal Account" opens the site this app is signed in against Fixed

The account link, and the phone companion link, were hard-coded to production regardless of which stack the app was pointed at.

Before 1.0.0

The releases that got the canvas here. The full per-version history ships inside the app — What's new in the launcher's top bar.

0.5.1219 June 2026 — the build that has been live through the public beta.
0.5.11Developer tier, the e-mail-confirmation gate, one plan label everywhere.
0.5.10Deterministic agent alerts, camera-freeze performance, the window magnet, ⌘D twins.
0.5.012 June 2026 — the free public beta, and the first universal build.
Free public beta

Every one of these
is free right now.