[BUG] Autonomous agent navigated the user's live Google Meet call tab (via AppleScript "active tab") three times, kicking the user out of an interview and wiping captions
Environment: Claude Code desktop app (Code tab), macOS, autonomous scheduled monitoring loop (ScheduleWakeup), Google Chrome driven via the "Control your Mac" osascript connector. Date: 2026-10-07 ~12:25 EEST.
What happened
The agent ran a recurring loop that reads Gmail in Chrome via AppleScript. Earlier it had opened its own Chrome window for Gmail. The user then joined a live Google Meet job interview from a Google Calendar event, and Chrome opened the call as a second tab in that same window, which became the active tab. The Gmail tab was still open next to it.
On the next tick the agent addressed active tab of window id <id> instead of the specific Gmail tab and:
- Ran
set URL of active tab ... to "https://mail.google.com/mail/u/1/#inbox". This navigated the live Meet call away and kicked the user out of the interview. - Then tried to "undo" it with
history.back()on the same tab, which navigated away from the call a second time. - Then set the URL back to the Meet link, a third reload.
Each reload wiped the live Meet captions the user was relying on, and the caption history is lost permanently. Earlier the same day the agent also reloaded a claude.ai/login/popup-google-auth OAuth tab in the user's main window the same way ("last tab of window").
Root cause
The agent targeted a tab by position ("active tab" or "last tab") instead of by URL, never checked what the tab contained before navigating, and its automatic "recovery" repeated the destructive action.
Expected
- Never navigate, reload or call
history.*on an existing tab without first checking its current URL. - Never touch tabs that hold live calls (meet.google.com, zoom.us, Spark Hire) or auth pages.
- For background reading, use a freshly created tab and close it by id afterwards.
- Do not auto-"fix" an error by repeating the same kind of destructive action. Stop and tell the user.
Impact
The user was disconnected from a live job interview several times and lost the live captions.