Chrome extension not detected when no 'Default' Chrome profile exists (Linux)

Status Open
Reported on v2.1.250
Maintainer reply None cached
Activity 1 comment · opened Aug 28, 2026

Environment

  • Claude Code version: 2.1.250
  • OS: Linux, kernel 6.8.0-138-generic
  • Chrome: google-chrome-stable (deb package, not snap), version 150.0.7871.128
  • Extension: "Claude" v1.0.85, installed and logged in

Problem

/chrome shows a status menu with no clear next step. When a task needs the browser, Claude Code shows "Claude wants to use your browser" with Install extension / Not now / Don't ask again -- "Install extension" just reopens the already-installed extension's own settings page, nothing else happens. This persists after restarting the Claude Code session, "Reconnect extension" via /chrome, and a full Chrome restart (all windows closed/reopened). Running with --verbose and retrying /chrome produces no chrome-related output at all, and nothing appears in ~/.claude/daemon.log either (grep for "chrome" returns zero matches).

Root cause found

This system has no Chrome profile directory named Default -- all profiles are custom-named (Profile[Firstname], ProfileWork, ProfilePrivate, Profile[CompanyName], Profile[Surname]). The Claude extension is installed and logged in under Profile[Firstname] (the last-used profile per Chrome's Local State), but:

  • ~/.claude.json -> "cachedChromeExtensionInstalled": false -- Claude Code's own cached detection state says the extension is not installed, even though it is.
  • ~/.claude/chrome/ (expected to hold the native-messaging-host binary) is never created.
  • ~/.config/google-chrome/NativeMessagingHosts/ exists and is writable (it already holds a manifest for an unrelated extension, Bitwarden), so this isn't a permissions issue -- the manifest is just never written because an earlier detection step silently fails.

This looks like the same class of bug as #30722 (custom profile directories not scanned), but more specific: it's not just "an extra profile exists", it's that no Default-named profile exists at all, so whatever profile-scanning logic Claude Code uses for extension detection appears to find nothing and never proceeds to registering the native messaging host.

Expected behavior

Claude Code should detect the extension in whichever Chrome profile it's actually installed in (or at least the last-used / currently active profile), not only a profile literally named Default.

Workaround

None found yet apart from possibly creating a profile literally named Default and reinstalling/logging into the extension there (untested).

View original on GitHub ↗

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