gif_creator always fails: "not in the agent's managed tab group" (Chrome + Brave)

Open 💬 1 comment Opened Jun 19, 2026 by sonhyrd

gif_creator always fails: "not in the agent's managed tab group" (Chrome + Brave)

Summary

mcp__claude-in-chrome__gif_creator rejects every start_recording with:

Tab <id> is not in the agent's managed tab group.
GIF recording only works for tabs within the agent's tab group.

The same tab works fine with tabs_context_mcp, navigate, computer, and
javascript_tool. gif_creator is the only tool that refuses it.

Environment

  • Claude Code 2.1.183 (latest), Claude Chrome extension 1.0.77, macOS arm64
  • Reproduced in clean Google Chrome and in Brave (fresh tab group each time)

Repro

  1. tabs_context_mcp { createIfEmpty: true } -> returns tab + tabGroupId
  2. navigate { tabId, url } -> ok
  3. computer { action: "screenshot", tabId } -> ok
  4. gif_creator { action: "start_recording", tabId } -> FAILS (error above)

Root cause

In assets/mcpPermissions-*.js, the gif handler is the only tool that compares
the tab's native Chrome group id against the session's logical tabGroupId:

const i = (await chrome.tabs.get(n)).groupId ?? -1;
if (t.sessionId === "mcp-native-session" &&
    (undefined === t.tabGroupId || i !== t.tabGroupId))
  return { error: "Tab ... is not in the agent's managed tab group. ..." };

Every other tool keys off tabId alone. The agent's tabs are never in a native
Chrome group equal to t.tabGroupId, so i !== t.tabGroupId is always true and
gif is permanently blocked. Reproduces in clean Chrome, so it's not a
browser/profile quirk.

Suggested fix

Treat a managed tab as eligible without the native-group equality check — e.g.
fall back to the tab's actual groupId, or skip the check when grouping didn't
take (groupId === -1).

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗