Persistent browser sessions
A background session daemon (one per BETTERWRIGHT_HOME) now owns the browser, so tabs, page state, logins, and the repl state object survive between CLI invocations — the browser no longer closes when a command exits.
run/repl: every invocation attaches to the same live session; snippets see the tabs andstateearlier calls left behind.exec: the agent loop runs inside the daemon with live-streamed steps, and the LLM conversation resumes across calls (resumed session "default" (N prior messages));--freshstarts over. Transcripts persist to disk (elided + capped) and survive daemon restarts.- Sessions: implicit
default; isolate parallel work with--session <name>; inspect withbetterwright sessions; end withbetterwright close [name|--all]. Idle sessions auto-close after 15 minutes (BETTERWRIGHT_SESSION_TTL_SECONDS); the daemon exits once empty. - Escape hatches:
--no-daemon/BETTERWRIGHT_NO_DAEMONrestores one-shot behavior; changed policy/cloak flags replace an idle daemon or fall back to a private browser when the daemon is busy;interactive/viewreclaim the profile from an idle daemon.
The skill text now teaches agents the persistent-session model. No breaking API changes; closeSession() added to the client surface.
🤖 Generated with Claude Code