Skip to content

v0.12.0

A workspace no longer stays up — and billed — because a session is waiting for a person. Questions, plan approvals and permission requests are kept when the session is folded and answered afterwards in the session list, tool approvals are a choice rather than always skipped, and a session can be handed to another member of the tenant.

  • A session parked on a question no longer holds the workspace open. Questions, plan approvals and permission requests used to count as work in progress, so the container stayed up until somebody answered — overnight, over a weekend, for as long as it took. They now have their own timeout (interaction_idle_timeout, defaulting to the session timeout).
  • What was on screen when the session was folded is kept, and you answer it from the Console. The session list carries a card with the question, plan or permission request that was open; choosing an answer starts the workspace again and delivers it to the agent as text. Stopped sessions show that they are holding a question, and a notification goes out when a session is folded with one unanswered.
  • Tool approvals are a choice. Every agent used to start with approvals skipped outright. You can now ask to be prompted, per agent kind or for a single session, and answer the prompt from the Console. The default is unchanged — see Upgrade notes for which agents can be switched.
  • Hand a session to another member. Offer the continuation of a shared session to someone in the same tenant; they accept it from their inbox and it opens a pre-filled launch dialog. Unpushed work blocks the offer, since the other member starts from the remote.
  • A “don’t auto-stop” pin protects a session and its workspace from idle stop for four hours. It is meant for a long build or an ssm job that runs with the terminal closed, where nothing on the outside can tell that work is in progress. The pin expires by itself.
  • The admin roster says when each member’s workspace will stop, and why it will not — a person being present, a running session, background work, or a pin — with the time the reaper last looked.
  • Someone being there is now measured by typing rather than by an open connection: a terminal tab left open no longer keeps a workspace warm forever. Reading the mirror still counts as being there, so the machine does not stop under someone who is only catching up.
  • A session running background work — a subagent, a workflow — is no longer folded while it runs.
  • A handoff can start in a fresh worktree instead of the working copy the session came from.
  • New accounts start with Claude Fable hidden, where picking it by accident bills API credit on a Team plan. Saved settings are untouched.
  • Working sets and other accumulated preferences could leak into another account. Switching tenant or user left the previous owner’s data in memory, and the repair that guards against data loss then wrote it into the new account’s preferences.
  • Some users got a red “agent did not become healthy” toast on every workspace start, and the workspace then worked normally a few seconds later. Waiting longer than expected for the agent is a state, not a failed start.
  • A question raised while a background subagent or workflow was running could not be answered: the mirror drew the card but offered no way to send the answer.
  • Bold and strikethrough went unrendered in Japanese text, wherever the marker sat next to a bracket or full-width punctuation instead of a space.

Workspaces that used to stay up on an unanswered question will now stop. Nothing is lost — the question is carried and answerable from the session list — but a workspace that was, in practice, kept alive by an open question will now go to sleep on AF_INTERACTION_IDLE_TIMEOUT (per-tenant interaction_idle_timeout; defaults to the session timeout). A terminal with no typing counts as someone being present for AF_PRESENCE_IDLE_TIMEOUT, 30 minutes by default; set it to 0 for the old behaviour. Two additive migrations run on start.

Tool approvals can be switched on for Claude Code, Cursor, Copilot, Kiro and Antigravity. Codex and OpenCode always skip them, because the flags that would have to be dropped also carry their state detection, and the Console offers the setting only where it works.

Agent CLI pins: Claude Code 2.1.243, OpenCode 1.18.22, Codex 0.149.1. The others are unchanged from 0.11.0.