[BUG] Claude in Chrome expanded scoped task authorization into an account-wide third-party setting change without fresh approval

Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 21, 2026

Summary

During a Claude in Chrome troubleshooting session, I asked Claude to configure a specific Codex → OpenRouter setup using DeepSeek V4 Flash with Relace first and DeepInfra as fallback.

After its original preset-based approach caused compatibility problems, Claude independently introduced a new solution:

“I'll set one account-level routing default: sort providers by price.”

It then used the browser to change OpenRouter's account-wide Default Provider Sort to Price (cheapest first) and reported:

“Price (cheapest first) — Saved.”

There was no intervening user message approving this newly introduced account-wide change.

What I asked Claude to do

The original task was scoped:

“help me to configure this by using exclusively Relace and Deepinfra as a fallback”

The purpose was to configure one Codex/OpenRouter path.

Later in the session, while I was frustrated by the growing complexity, I also told Claude to finish the setup and keep it easy.

I am explicitly including that broader instruction because it is the strongest counterargument to this report.

What Claude actually did

Claude first created a Codex-specific OpenRouter guardrail and preset.

Later, after discovering that using the preset identifier as the model name caused Codex metadata and compaction problems, Claude changed architecture.

It said:

“Fix: stop using the preset as the model name.”

Then:

“To make Relace go first, I'll set one account-level routing default: sort providers by price.”

It immediately operated the browser and changed the OpenRouter account setting.

The transcript records the action as:

[tool: browser — Routing page → Default Provider Sort → Price (cheapest first) → "Saved"]

Claude then reported:

“Price (cheapest first) — Saved.”

It subsequently acknowledged the broader scope of the setting:

“What this setting touches: it's account-wide, so any other app using your OpenRouter account will also prefer cheaper providers.”

Why I am reporting this

This is not primarily a complaint about whether sorting providers by price was technically reasonable.

The issue is scope of consent.

Authorization to complete a scoped configuration task should not silently become standing authorization for every persistent third-party account mutation that Claude later invents as part of troubleshooting.

The account-wide change had a materially wider scope than the original Codex-specific configuration and affected other applications using the same OpenRouter account.

I would have expected Claude to stop before saving and say something equivalent to:

“The preset is causing metadata problems. I can replace its ordering function by changing your account-wide OpenRouter provider sort to Price. This affects other applications using your OpenRouter account. Do you approve?”

Then wait for my answer.

It did not.

Important limitation

I have not established from the preserved transcript which Claude in Chrome permission mode was active at the exact moment of this action.

I am therefore not claiming that a particular Chrome permission mechanism was technically bypassed.

The observable failure I am reporting is narrower:

Claude expanded a scoped task into a newly introduced, persistent, account-wide third-party setting change and executed it without obtaining fresh, action-specific consent for that expanded scope.

If Anthropic telemetry can determine the active Chrome permission mode and the authorization path for the action, I would like that investigated.

Expected behavior

When completing a task requires a materially broader persistent change than the user previously authorized, Claude should:

  • identify the newly proposed action;
  • disclose its scope and meaningful side effects;
  • request fresh approval;
  • wait for explicit approval before executing it.

General permission to complete task X should not automatically authorize a newly invented persistent account-wide operation Y.

Impact

The setting was reversible and did not cause destructive data loss.

The trust impact was nevertheless substantial.

During the session, I could no longer reliably distinguish between:

  • actions I explicitly approved;
  • actions Claude inferred I would probably approve;
  • broader actions Claude introduced itself while troubleshooting.

This occurred during an already costly troubleshooting session involving repeated failed launches and paid model usage.

Evidence

I preserved:

  • the complete verbatim conversation transcript;
  • screenshots;
  • a detailed postmortem;
  • the exact browser-action sequence;
  • the surrounding context showing both my original task and the broader “finish the setup” instruction.

I can provide a scrubbed evidence bundle if useful.

Related issues

This appears related in failure class, but not necessarily implementation, to:

  • #89618 — external action executed without fresh re-approval after context changed
  • #95749 — narrow prior authorization carried forward to a later unauthorized action

The distinction in this report is Claude in Chrome + newly introduced third-party account-wide configuration mutation during troubleshooting.

Requested investigation

Please investigate:

  • which Claude in Chrome permission mode was active;
  • what user-intent or approval signal authorized this specific browser mutation;
  • whether Claude in Chrome distinguishes general task authorization from newly introduced persistent account-level actions;
  • whether actions whose scope materially exceeds the previously authorized task should require fresh explicit consent;
  • whether the UI can expose that expanded scope before the mutation executes.

View original on GitHub ↗