`browser_batch` always fails with "No tab available" while single-action tools work on the same tabId
browser_batch returns No tab available for any batch — including a single-action batch [{"name":"computer","params":{"action":"screenshot","tabId":<id>}}] — while the identical action via the individual computer / navigate tools succeeds on the same explicit tabId immediately after (verified back-to-back in the same session).
Reproduced across:
- two different Claude Code sessions on different days;
- three fresh tab groups (including ones created via
tabs_context_mcpwithcreateIfEmpty: true); - extension disconnect/reconnect cycles (
list_connected_browsers+select_browser); - a full Chrome quit + relaunch (to pick up pending extension updates);
- Claude Code 2.1.216 (latest at the time of writing).
Environment: macOS (Darwin 25.5.0), current stable Chrome, Claude Code CLI running in a terminal.
Hypothesis from the failure shape: the batch executor resolves the session's active tab from internal state instead of honoring the per-action tabId params — single-action tools take the explicit tabId path and work; the batch path never finds a tab even when tabs_context_mcp lists it.
Happy to provide timestamps or run further repro steps if useful.