Nothing in the background ever stops
Switching workspaces changes only the rendered grid. The outgoing workspace's PTYs stay alive with live scrollback — switch back and your shells are exactly where you left them.
A workspace is a running rig bound to a project path. 13x keeps several open at once, renders only the active one in the grid, and never stops the rest — their shells keep running in the background with live scrollback.
A workspace is one running rig pinned to one project root. You can have several open side by side — one per project — while 13x renders only the active workspace in the grid. Every other workspace's PowerShell sessions keep running in the background with their scrollback intact, and each session is tagged with a workspace id so tallies, broadcast, kill-all, and keyboard chords only ever touch the workspace you're looking at.
Switching workspaces changes only the rendered grid. The outgoing workspace's PTYs stay alive with live scrollback — switch back and your shells are exactly where you left them.
Every session carries a workspaceId. Kill-all, the SYSTEM tally, broadcast, and the Ctrl+1-9 / Ctrl+Space chords filter to the active workspace, so they never reach into a backgrounded project.
Each sidebar workspace row tracks attention over only its own sessions. A backgrounded project shows a live dot-N badge when its agents need you — without stealing your grid.
Closing or relaunching one workspace stops exactly its shells via the backend stop_workspace_sessions command and disposes only its terminals. Every other workspace is untouched.
The last launched rig and your startup toggles persist to last-session.json with an atomic temp-then-rename write. A missing or corrupt file is treated as no saved session — never a crash, never an upload.
With auto-launch on, 13x resumes the rig you last launched once on the next start. The startup guard arms a single time, so flipping the toggle later never triggers a surprise relaunch.
Launch a workspace
Pick a project path and a rig, then press Ctrl+L or click LAUNCH. 13x mints a fresh ws_ id, starts the slots, sets the workspace active, and best-effort saves last-session plus a rig_launch checkpoint.
Open another project
Click + new workspace in the sidebar. The native folder picker opens, the rig draft resets, and the next LAUNCH creates a brand-new instance instead of relaunching the active one. Cancelling leaves the active workspace untouched.
Switch instantly
Click a workspace row. 13x clears focus, pushes the target's root, rig, and grid state into view, and re-hydrates its checkpoint — without ever touching the backend, because those PTYs are already running.
Watch the backgrounded ones
Backgrounded workspace rows still surface a live dot-N attention badge when their agents need you, so you know which project to switch to next.
Close cleanly
Click the x on a row (or Ctrl+K on the active one). 13x stops exactly that workspace's shells, disposes its terminals, and falls back to the next open workspace or the empty state.
They keep running. switchWorkspace only changes the rendered grid — the previously active workspace's PowerShell sessions stay alive in the background with live scrollback. It never touches the backend because those PTYs are already running.
No. Every session is tagged with a workspaceId, and kill-all, the SYSTEM tally, broadcast, and the Ctrl+1-9 / Ctrl+Space chords all filter to the active workspace. Other open workspaces are never touched.
Not as a set. The open-workspace list is in-memory only; only the single last-launched rig in last-session.json survives a restart. Multiple concurrent workspaces are not restored together.
No. Workspace lifecycle and last-session persistence make no network calls. last-session.json lives in the local app config dir, written and read only by 13x. A corrupt file is silently treated as no saved session — never uploaded or reported.
13x is local-first and free of telemetry — your code, commands and shells never leave the machine. Join the waitlist for the next build.