Companion Chrome extension for the
Usage Buttons Stream Deck plugin.
Proxies a narrow allowlist of AI usage-monitoring APIs
(claude.ai, cursor.com, ollama.com) so the plugin can read your
usage stats using your real logged-in browser session.
Cookies never leave the browser. The extension issues
fetch(url, { credentials: "include" }) — Chrome itself attaches the
user's cookies, the plugin only sees the API response bodies.
Cookie-gated usage APIs (Claude's web extras, Cursor, Ollama) sit behind Cloudflare. Routing through Chrome means:
- Real Chrome TLS fingerprint + User-Agent. No JA3 surprises.
cf_clearanceand session cookies stay in the browser's cookie jar — never serialized, never handed to a local binary.- No
cookiespermission needed. The extension holds onlynativeMessaging+ narrowhost_permissionsfor the three allowlisted domains.
| Does | Doesn't |
|---|---|
Fetch claude.ai, cursor.com, ollama.com on behalf of the plugin |
Touch any other site |
Use your existing browser session (credentials: "include") |
Read cookies directly |
| Mirror the plugin's allowlist — refuse off-list URLs in the service worker | Let the plugin widen it at runtime |
| Hold a persistent native-messaging port so the plugin can probe liveness | Run unless Chrome is open |
- Grab
UsageButtons-Helper-unpacked.zipfrom the latest release and unzip it anywhere. - Open
chrome://extensions, toggle Developer mode on (top-right). - Click Load unpacked and pick the unzipped folder.
That's it. The Stream Deck plugin picks the Helper up automatically on launch — nothing to paste, no admin prompt, no follow-up clicks.
chrome://extensions → Load unpacked → pick this
chrome-extension/ directory.
The plugin checks GitHub Releases for new versions and shows the
current Helper version in the Property Inspector's Plugin
settings tab. When a new release ships, the PI's
Browser extension panel flags it — just re-download
UsageButtons-Helper-unpacked.zip, replace the folder you loaded
unpacked, and hit the refresh arrow in chrome://extensions.
Chrome blocks drag-and-drop .crx installs from anywhere except the
Chrome Web Store (since 2019). .zip + Load unpacked is the
supported install path.
Any Chromium-based browser with standard native messaging and MV3 fetch: Chrome (stable/beta/Canary), Microsoft Edge, Brave, Chromium. The plugin installs the native-messaging manifest for every browser on the machine.
A Firefox port is on the roadmap (same JS, slightly different
manifest + browser.* shim). Safari is out of scope — its extension
model is Swift/Xcode-based with a distinct native-messaging story.