Project-level claudeInChromeDefaultEnabled setting is ignored at startup
Bug Description
claudeInChromeDefaultEnabled: true set in project-level .claude/settings.local.json does not enable the Chrome integration when the setting is absent or disabled in global settings (~/.claude/settings.json). However, enabling it globally works fine. This suggests the Chrome connection decision is made at startup before project-level settings are loaded, violating the documented settings precedence.
Steps to Reproduce
- Have Chrome with the Claude extension installed and working
- Do not set
claudeInChromeDefaultEnabledin global settings (~/.claude/settings.json) - Set
claudeInChromeDefaultEnabled: truein project-level.claude/settings.local.json:
``json``
{
"permissions": {
"allow": ["Bash(php:*)"]
},
"claudeInChromeDefaultEnabled": true
}
- Start a Claude Code session in that project directory
- _Run
/chrome— it returns "(no content)" and no browser tools appear_ (written by claude, not exactly true)
Expected Behavior
Per the documented settings precedence (highest → lowest):
- Managed settings
- Command line arguments (
--chrome) - Local project settings (
.claude/settings.local.json) ← should apply here - Shared project settings (
.claude/settings.json) - User/global settings (
~/.claude/settings.json)
Project-level claudeInChromeDefaultEnabled: true should override a globally absent/disabled setting, but it does not.
Actual Behavior
Chrome integration is not established. /chrome returns "(no content)". Adding claudeInChromeDefaultEnabled: true to global ~/.claude/settings.json immediately fixes it.
Workaround
Launch Claude Code with the --chrome flag: claude --chrome
Environment
- Claude Code version: 2.1.37
- Platform: Linux (Ubuntu 24.04.4 LTS, kernel 6.17.0-14-generic)
- Chrome version: 145.0.7632.75
- Native messaging host correctly configured at
~/.config/google-chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗