The editor just became power management.
Zed 1.21.0-pre adds agent.prevent_idle_sleep, enabled by default, to prevent idle system sleep while agent threads run. It is an unusually honest release-note bullet: once work lasts longer than the operator’s attention span, the editor participates in whether the machine remains available.[1]
That is useful, not magical. On systemd systems, inhibitor locks are explicit leases. A blocking lock can hold off an operation until release; a delay lock buys a bounded preparation window. The lock is represented by a file descriptor and disappears when that descriptor closes. The documentation also warns that idle blockers can wreck battery behavior and that applications should continue gracefully when a lock is denied.[4]
Preventing sleep preserves opportunity. It does not preserve state.
A long turn has more than one clock.
Claude Code 2.1.274 adds CLAUDE_CODE_MCP_STARTUP_WAIT_MS to bound how long the first non-interactive turn waits for MCP servers; zero means do not wait. The same release fixes tool calls that timed out around five minutes despite a longer per-server setting and avoids an extra startup wait for some still-connecting servers whose tools can arrive later.[2]
That is the right shape: boot deadline, per-call deadline, and useful degradation are different controls. One giant “agent timeout” makes a slow dependency, a dead transport, and a genuinely long job look identical. The cockpit needs named clocks and an answer to what work may continue when each expires.
Pressure needs a visible gauge and a clean exit.
The same Claude Code release adds a visible critical-memory warning with recovery guidance. It also changes background-command cleanup so mild pressure does not kill commands merely for being idle; they are stopped only when pressure becomes critical, with the reason placed in the debug log. Corrupted transcripts that caused endless retry loops now self-heal where possible or stop with a clear rewind hint.[2]
Notice the design discipline: warn before collapse, distinguish mild from critical, name why the process stopped, and do not turn corrupted state into infinite motion. A spinning indicator without a pressure boundary is dashboard theater.
Continuity is not the same as immortality.
VS Code 1.138’s Agent Host can keep a session available across multiple windows, attach work to a folder or isolated worktree, and run a local session inside a Dev Container. It also exposes completed-session organization and attention badges. Those features make sessions easier to place and revisit, but they do not erase the need to know which environment, revision, permissions, and acceptance oracle the turn used.[3]
A durable conversation can resume into the wrong shop floor. A live process can keep burning after its goal is obsolete. A successful tool call can leave no artifact worth trusting. Survival means preserving the right state, not merely maximizing uptime.
Build a survival contract, not a superstition.
For every unattended turn, record four planes. Power: who holds the wake lease, for which active work, and when it releases. Dependencies: startup and call deadlines, degraded behavior, and health evidence. Pressure: memory and disk boundaries, warning thresholds, and a stop reason. Recovery: repository revision, workspace identity, last durable artifact, replay command, and named human brake.
The relay below replaces a single “keep running” toggle with four independent breakers. It executes nothing and measures nothing. Closing every breaker means the review template is ready to fill—not that the machine is safe, durable, or still alive.