This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Affected surfaces
Summary
AI summaryUpdates Headline, Also fixed, and Known follow-ups across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds new `key` command to dispatch keyboard events (Enter, Escape, arrows, F‑keys, chars with modifiers). Adds new `key` command to dispatch keyboard events (Enter, Escape, arrows, F‑keys, chars with modifiers). Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Feature | Low |
Adds MCP tool annotations (`readOnlyHint`, `destructiveHint`, `openWorldHint`) for context‑aware UI rendering in hosts like Claude Desktop and Cursor. Adds MCP tool annotations (`readOnlyHint`, `destructiveHint`, `openWorldHint`) for context‑aware UI rendering in hosts like Claude Desktop and Cursor. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Dependency | Low |
Updates DOMShell Chrome extension to version 1.3.1 (bug‑fix release) and MCP server package @apireno/domshell to 2.0.1. Updates DOMShell Chrome extension to version 1.3.1 (bug‑fix release) and MCP server package @apireno/domshell to 2.0.1. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Medium |
`navigate` no longer leaves AX tree stuck on previous page; fixes `cdpSwitchToTab` fast path caching. `navigate` no longer leaves AX tree stuck on previous page; fixes `cdpSwitchToTab` fast path caching. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Medium |
Clicks now dispatch trusted browser events by default, ensuring `event.isTrusted` is true for DOMShell clicks. Clicks now dispatch trusted browser events by default, ensuring `event.isTrusted` is true for DOMShell clicks. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Low |
Per-action terminal confirmation is OFF by default in MCP server; adds `--confirm` flag to re‑enable prompts and fixes underlying TTY deadlock. Per-action terminal confirmation is OFF by default in MCP server; adds `--confirm` flag to re‑enable prompts and fixes underlying TTY deadlock. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Low |
Limits `js`/`eval` timeout to 30 seconds with best‑effort cleanup; non‑resolving Promises no longer hang MCP calls. Limits `js`/`eval` timeout to 30 seconds with best‑effort cleanup; non‑resolving Promises no longer hang MCP calls. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Low |
Improves `scroll down`/`scroll up` to advance virtualized lists by walking up from cursor to nearest scrollable ancestor; adds `--window` flag for document‑level scrolling. Improves `scroll down`/`scroll up` to advance virtualized lists by walking up from cursor to nearest scrollable ancestor; adds `--window` flag for document‑level scrolling. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Low |
Fixes `ls <path>` to actually respect the supplied path argument instead of silently ignoring it. Fixes `ls <path>` to actually respect the supplied path argument instead of silently ignoring it. Source: llm_adapter@2026-05-26 Confidence: high |
— |
| Bugfix | Low |
Enhances `cd` diagnostic to list available subdirectories and suggest using `tree` for deeper navigation. Enhances `cd` diagnostic to list available subdirectories and suggest using `tree` for deeper navigation. Source: llm_adapter@2026-05-26 Confidence: high |
— |
Full changelog
Bug-sweep patch built on top of 2.0.0 / 1.3.0. Real-world stress-testing against LinkedIn surfaced a stack of issues — all addressed in one tight cycle.
Headline
navigateno longer leaves the AX tree stuck on the previous page (#36) —cdpSwitchToTab's fast path was returning the pre-navigation cached tree because nothing invalidated it. Same fix coversbackandforward.- Clicks now dispatch trusted browser events by default (#37) — React-driven SPAs (LinkedIn, Twitter/X, Notion, …) and any code checking
event.isTrustedno longer silently ignore DOMShell clicks. - New
keycommand (#40) — dispatch keyboard events (Enter,Escape, arrows, F-keys, single chars with modifiers) to the focused element. Three-round fix: special keys go throughrawKeyDown(else Chrome drops them); auto-selects between trusted CDP and JS synthetic based on whether the target tab is the active tab in its window;--activateopt-in flag for explicit trusted dispatch with focus restore. - Per-action terminal confirmation is OFF by default in the MCP server (#39) — the architecture is now "server tags tier in metadata, host owns the prompt."
--no-confirmis preserved as a no-op for backward compatibility; new--confirmflag re-enables prompts for users running the server in their own terminal. Underlying TTY deadlock fixed. - MCP tool annotations (#39 follow-up — credit @m13v) — all 38 tools now carry
readOnlyHint/destructiveHint/openWorldHintso hosts (Claude Desktop, Cursor) can render context-aware approval UIs with the surrounding conversation context.
Also fixed
js/evaltimeout (#38) — 30-second cap with best-effortRuntime.terminateExecutioncleanup; non-resolving Promises no longer hang the MCP call.scroll down/scroll upadvance virtualized lists (#35) — walks up from the cursor to find the nearest scrollable ancestor;--windowflag forces document scroll.ls <path>(#41) — actually respects the path argument now (was silently ignored).cddiagnostic (#42) — failure messages list available subdirectories and point attreefor deeper paths.
Versions in this release
@apireno/domshell(MCP server) —2.0.1(this tag, shipping to npm)- DOMShell Chrome extension —
1.3.1(tagextension-v1.3.1)
Known follow-ups
- #42 —
cd/ls/treeview parity (open for clean repro; the diagnostic message is the interim improvement). - #45 — AX-tree collapsing hides React-handler-bearing inner divs (the structural reason LinkedIn's
<li>rows still don't activate via DOMShell even with trusted keys; out of scope for this patch).
Web Store
Chrome extension 1.3.1 ships when 1.3.0 clears its in-flight Web Store review (1.3.0 carries the new tabGroups permission — a code-only 1.3.1 should sail through). The packaged ZIP is built from this tag (sha256 7cfc05ea76e58099a66305bbbf16959047a17f39a5a81acf1768fb746fc9add9).
See CHANGELOG.md for the full per-bullet detail.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About apireno/DOMShell
Browse the web using filesystem commands (ls, cd, grep, click). 38 MCP tools map Chrome's Accessibility Tree to a virtual filesystem via a Chrome Extension.
Related context
Beta — feedback welcome: [email protected]