v4.2.2
Agent-ergonomics release from the 4.2.1 fresh-eyes walk: the two changes
that removed nearly all friction a real MCP client hit.
- Session-aware browser default. Tools that target a running session
(extension_logs,extension_reload,extension_eval,
extension_storage,extension_open,extension_dom_inspect,
extension_list_extensions,extension_source_inspect,
extension_wait) no longer hard-defaultbrowserto a constant that
could disagree with the sessionextension_devactually started.
Omittingbrowsernow resolves to the active session's browser:
in-memory registry first, then the freshest liveready.jsoncontract
on disk (dead pids ignored), then the old constant. Starting a session
withbrowser: "chrome"and callingextension_logswith no args now
just works instead of erroring about a missing chromium channel. - Error hints speak the MCP tool surface, not the CLI. Act-verb error
prose is rewritten before returning:`extension dev --browser=chromium --allow-control`becomesextension_dev with { browser: "chromium", allowControl: true }, and stray
--allow-control/--allow-eval/--browser=<x>mentions become
their tool-argument names. Result data is never touched — only
error/hint prose. Tool descriptions now nameallowControl/
allowEvaldirectly, so agents no longer discover the gates by
fuzzing the schema. - The no-channel error now names the session that IS running ("Active
session browser(s) for this project: chrome — pass that asbrowser"),
so an agent retargets instead of spawning a second, conflicting
session. Same for theextension_logsfollow miss. extension_list_extensions/extension_source_inspectaccept
browser: "chromium"(the default dev target) instead of rejecting it
as non-Chromium.- Tests: session-browser resolution + hint-translation suite (137 total).