Fix the Chrome extension connection

Reconnect the extension, resolve version mismatch, and clear bridge and profile contention.

Fix the Chrome extension connection

When a run says the extension is not connected, ask the extension itself first. This command opens no tab and contacts no platform:

blowhorn chrome extension-status

It reports whether the extension directory is installed, whether the native host manifest is missing, current or stale against the checkout, which install route is on disk (policy, external, or none), and whether the extension answers hello on its socket. An answered hello proves the extension is loaded in the real Chrome and talking.

Not connected

Work through the report top to bottom: a missing directory or manifest means the install did not finish, so install it again with your administrator. A stale manifest means the checkout moved on without it: reinstall the native host from the current checkout, then reload the extension on chrome://extensions.

Version mismatch after an update

A Blowhorn upgrade does not reinstall the extension. After an update, take the store update, or reload the unpacked copy on chrome://extensions, then run blowhorn chrome extension-status again until hello answers.

Bridge busy

another blowhorn run holds the Chrome extension bridge

One mapped profile runs in one process at a time. Another run is acting as that profile: wait for it, or stop it. Your rows stay queued, and a scheduled job tries again next tick.

Profile in use

When a run says the profile is in use by another Blowhorn process, the same rule holds under any driver: wait for that run, or stop it. The profile is skipped and its rows stay queued.

Last modified October 9, 2026: docs: sync from master (5f4e718)