[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

  1. Start a fresh Claude Code session
  2. Ask Claude to perform any browser automation task (e.g., "Go to example.com and take a screenshot")
  3. Observe the first tool call is update_plan, not tabs_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

  1. Claude Code calls update_plan first
  2. Error: "No tab available"
  3. Claude Code then calls tabs_create_mcp to create a tab
  4. Claude Code retries and succeeds

Example error output:

⏺ Claude in Chrome[update_plan]
  ⎿  Error: No tab available

Suggested Fix

Either:

  1. Model-side: Reinforce in the system prompt that tabs_context_mcp must be called before update_plan
  2. Extension-side: Have update_plan gracefully handle missing tab context by auto-creating one (similar to how tabs_context_mcp works with createIfEmpty: true)

Impact

  • Minor: Claude Code recovers automatically
  • Creates unnecessary error noise in the output
  • May result in extra tabs being created

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗