Alpha·every release is a pre-releaseAPIs and harness behavior are still changing·every release until v1 is a pre-release
uzev0.0.0-alpha.9
Workspace

The agent workspace

A persistent terminal that hosts your agent sessions — spaces, tabs and panes that outlive the client

The agent workspace

Running uze with no arguments opens the workspace: a persistent terminal that hosts your agent sessions, side by side.

$ uze                    # attach the workspace (starts its server when needed)
$ uze terminal attach    # the same thing, explicitly
$ uze terminal stop      # stop this workspace's session and its processes

The workspace is experimental (ADR-038). The runtime, its protocol, and the shortcuts below may still change.

Spaces, tabs, panes

Three levels, and no more:

LevelWhat it is
SpaceOne directory you work in. The sidebar lists them; Alt+S adds one
TabOne session inside a space — a plain shell, or an agent
PaneThe live terminal a tab draws, owned by the runtime server

A shell opened while an agent is in front of you belongs to that agent: it starts in the agent's own checkout, is shown with it, and closes with it. A space keeps its own shells — the one it opened with, and any opened with no agent selected — and closing an agent never touches those.

Running uze inside one of the workspace's own panes doesn't nest a second client: it opens a space for that directory in the uze already running, and exits.

Nothing you leave is lost

The panes belong to a local server, not to the window you are looking at. Closing the client — switching to management, detaching, quitting the terminal emulator — leaves every process running, and the next attach finds them exactly where they were.

The server outlives its client, but not the machine. After a reboot, the next uze brings the spaces, tabs and agents back, each relaunched in the checkout it was working in and each resuming the session it was in rather than starting a stranger in a directory full of half-done work.

That resume is done by the shim uze setup <harness> installs: its presence is what turns this on, and removing it turns it off. A conversation is remembered per task and per harness in uze's own state, never inside a checkout — so resetting a checkout cannot take it, and a recycled slot starts fresh.

What ties a process to its task is the launch, not the directory. A harness you start by hand carries no identity and starts exactly as it would without uze; so does one an agent starts from inside its own session. Where the resume cannot be done, the agent still starts and the tab says why — the harness matrix has the per-harness column.

Shortcuts

KeysAction
Alt+NNew agent — pick which harness starts
Ctrl+TNew shell tab
Alt+SNew space
Ctrl+WClose the selected tab
F2Rename what is selected
Alt+↑ / Alt+↓Previous / next agent
Ctrl+↑ / Ctrl+↓Previous / next space
Ctrl+GThe checkout's changes — Code
Ctrl+EThe checkout's files — Code
Alt+AThe project's diagrams — Architect
Alt+IDeliver the selected task
Alt+Shift+IDeliver every ready task in the space
Alt+PPreserved work
Ctrl+OSwitch to management (and back)
F1What is reachable right now
Ctrl+QQuit

Everything else typed goes to the pane. Every one of these is rebindable — see Shortcuts. Tabs and spaces can be renamed inline and reordered by dragging; right-click gives the same actions as a menu.

The strip's right end

Three zones, divided by hairlines, each answering a different question about the agent the strip belongs to:

ZoneAnswers
DeliveryWhat the work is doing — its state, and the request it became (PR/MR before it has a number, #41 after)
ChangesWhat it has changed — the count, and the way into the diff
ActionsWhat can be done to it — the extension chips

The header carries one line, only ever about work in flight, and it goes when the work ends. Outcomes are toasts, stacked top-right over the pane: they carry the seconds they have left, and the one that needs an answer stays until it gets one.

When an agent finishes

An agent that finishes out of sight leaves a check on its tab in the sidebar until you look at it. It can also ring the terminal's bell — Manage → Settings → Notifications:

ChoiceRings for
silentnothing — the default
out_of_sighta turn that ended in a tab you were not on
alwaysevery finished turn, the tab on screen included

The sound is your terminal's own bell, so the terminal decides what it is: a tone, a flash, or nothing if its bell is off. A turn rings only after staying finished for about ten seconds, so a pause the agent resumes from never rings, and agents finishing together ring once. The choice lives in ~/.uze/config.toml:

[notifications]
agent_finished = "out_of_sight"

Prompt history

What you send to an agent tab is recorded per workspace, and the management view lists it — click an entry to jump back to the tab it was typed in.

It is a convenience log, not a transcript: uze forwards keystrokes to a pseudoterminal whose contents it never interprets, so entries can be missing and nothing treats the history as complete. The file is owner-only, and a workspace's history can be cleared outright.

On this page