[Bug] Claude Code calls update_plan before tabs_context_mcp, causing 'No tab available' error on first browser action
Resolved 💬 2 comments Opened Feb 3, 2026 by jonathanmalkin Closed Mar 5, 2026
Description
When asking Claude Code to perform browser automation tasks, it calls update_plan as its first MCP tool call before calling tabs_context_mcp. This causes a "No tab available" error because no MCP tab group exists yet. Claude Code then recovers by creating a tab and retrying, but this results in unnecessary errors and an extra tab being created.
Environment
- Claude Code version: 2.1.x (current stable)
- OS: macOS
- Chrome extension: Claude in Chrome (current version)
Steps to Reproduce
- Start a fresh Claude Code session
- Ask Claude to perform any browser automation task (e.g., "Go to example.com and take a screenshot")
- Observe the first tool call is
update_plan, nottabs_context_mcp
Expected Behavior
Claude Code should call tabs_context_mcp with createIfEmpty: true as its first browser action, as documented in the system prompt:
IMPORTANT: At the start of each browser automation session, call mcp__claude-in-chrome__tabs_context_mcp first to get information about the user's current browser tabs.
Then call update_plan after a tab context exists.
Actual Behavior
- Claude Code calls
update_planfirst - Error: "No tab available"
- Claude Code then calls
tabs_create_mcpto create a tab - Claude Code retries and succeeds
Example error output:
⏺ Claude in Chrome[update_plan]
⎿ Error: No tab available
Suggested Fix
Either:
- Model-side: Reinforce in the system prompt that
tabs_context_mcpmust be called beforeupdate_plan - Extension-side: Have
update_plangracefully handle missing tab context by auto-creating one (similar to howtabs_context_mcpworks withcreateIfEmpty: true)
Impact
- Minor: Claude Code recovers automatically
- Creates unnecessary error noise in the output
- May result in extra tabs being created
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗