Browser Controller

Native messaging bridge for browser-controller CLI

As of June 2026, Browser Controller has 2 users in the Productivity category.

Usersno change0%
2
2
Ratingno change0%
— reviews
Reviewsno change0%
Version
0.2.0
Manifest V3
90-day change · In the last 90 days this extension 1 version update, changed permissions.

History

5 snapshots

Tracking since Apr 7, 2026.

Not enough history yet for this metric — the chart fills in as we collect more snapshots.
View as table
DateUsersRatingReviewsVersion
Apr 7, 20260.1.5
Apr 19, 20260.1.5
Apr 24, 20260.1.5
May 1, 20260.1.5
Jun 7, 20260.2.0
Now20.2.0

Changelog

  • May 1, 2026
    description
    Provides a way to inspect and control browser windows and tabs from a Rust CLI
    program. It also allows watching an event stream of window and tab events. The
    Event stream and CLI output use JSON for simple scripting with e.g. jq
    
    This is meant to allow a power user to integrate browser window and tab control
    with other parts of their environment, e.g. shell scripts, window manager or
    compositor shortcuts, system services or timed jobs.
    
    For ease of scripting the output can optionally use JSON and the event stream of
    browser events uses newline delimited JSON objects.
    
    Currently, as of 0.1.5 it allows listing, opening and closing windows.
    
    For tabs it allows listing, opening, activating, navigating to a new URL,
    closing, pinning, unpinning, warming discarded tabs up, muting and unmuting tab
    audio, moving the tab to a different position in the window's tab bar and going
    forward and backward in history.
    
    When opening a new tab it can also optionally remove credentials embedded in the
    URL of basic auth pages after they have been cached by the browser so they can't
    be seen over the user's shoulder or accidentally copied.
    
    The event stream includes events for basic window and tab operations like
    opening, closing and activating another tab as well as changes in titles and
    notifications when a page has finished loading.
    
    Note: My primary testing and development platform for this is Linux but I do
    provide binaries for other desktop platforms for the Rust side of this. Bug
    reports from users on those platforms are welcome if I overlooked some minor
    platform-specific issues. This is not really meant for use on mobile platforms
    since CLI use is uncommon there.
    Provides a way to inspect and control browser windows and tabs from a Rust CLI
    program. It also allows watching an event stream of window and tab events. The
    Event stream and CLI output use JSON for simple scripting with e.g. jq
    
    This is meant to allow a power user to integrate browser window and tab control
    with other parts of their environment, e.g. shell scripts, window manager or
    compositor shortcuts, system services or timed jobs.
    
    For ease of scripting the output can optionally use JSON and the event stream of
    browser events uses newline delimited JSON objects.
    
    For windows it allows listing, opening (including incognito windows) and closing
    windows. Window title prefix management is a Firefox-only feature and is not
    available on Chrome.
    
    For tabs it allows listing, opening (with optional wait-for-load timeout),
    activating, navigating to a new URL, closing, reloading (with optional cache
    bypass), pinning, unpinning, discarding tabs to free memory, muting and
    unmuting tab audio, moving the tab to a different position in the window's tab
    bar, going forward and backward in history, and sorting tabs by domain.
    
    For tab groups (Chrome-only) it allows listing all tab groups, getting a
    specific group, updating group properties (title, color, collapsed state),
    moving groups, adding tabs to groups (or creating new groups), and removing
    tabs from groups.
    
    Some tab features are Firefox-only and return an error on Chrome: toggling
    Reader Mode, warming up discarded tabs, and reopening tabs in containers.
    Container management (listing containers) is also Firefox-only.
    
    For downloads it allows listing (with optional state and query
    filters), starting new downloads, cancelling, pausing, resuming,
    retrying interrupted downloads,
    and erasing download history entries.
    
    When opening a new tab it can also optionally provide credentials for HTTP basic
    authentication via the browser's onAuthRequired API, avoiding the need to embed
    credentials in the URL where they would be visible in the address bar, history,
    and logs.
    
    The event stream includes events for window and tab operations (open, close,
    activate, navigate, title change, status change, tab moved, tab
    attached/detached between windows, window focus changed), tab group events
    (created, updated, removed) on Chrome, as well as download events (created,
    changed, erased).
    
    Note: My primary testing and development platform for this is Linux but I do
    provide binaries for other desktop platforms for the Rust side of this. Bug
    reports from users on those platforms are welcome if I overlooked some minor
    platform-specific issues. This is not really meant for use on mobile platforms
    since CLI use is uncommon there.
  • May 1, 2026
    permissions
    nativeMessaging, scripting, sessions, tabs, webRequest
    alarms, nativeMessaging, offscreen, scripting, downloads, tabs, tabGroups, webRequest, webRequestAuthProvider

Permissions & access

Permissions
alarmsnativeMessagingoffscreenscriptingdownloadstabstabGroupswebRequestwebRequestAuthProvider
Host access
<all_urls>

Screenshots

Browser Controller screenshot 1

About

Provides a way to inspect and control browser windows and tabs from a Rust CLI
program. It also allows watching an event stream of window and tab events. The
Event stream and CLI output use JSON for simple scripting with e.g. jq

This is meant to allow a power user to integrate browser window and tab control
with other parts of their environment, e.g. shell scripts, window manager or
compositor shortcuts, system services or timed jobs.

For ease of scripting the output can optionally use JSON and the event stream of
browser events uses newline delimited JSON objects.

For windows it allows listing, opening (including incognito windows) and closing
windows. Window title prefix management is a Firefox-only feature and is not
available on Chrome.

For tabs it allows listing, opening (with optional wait-for-load timeout),
activating, navigating to a new URL, closing, reloading (with optional cache
bypass), pinning, unpinning, discarding tabs to free memory, muting and
unmuting tab audio, moving the tab to a different position in the window's tab
bar, going forward and backward in history, and sorting tabs by domain.

For tab groups (Chrome-only) it allows listing all tab groups, getting a
specific group, updating group properties (title, color, collapsed state),
moving groups, adding tabs to groups (or creating new groups), and removing
tabs from groups.

Some tab features are Firefox-only and return an error on Chrome: toggling
Reader Mode, warming up discarded tabs, and reopening tabs in containers.
Container management (listing containers) is also Firefox-only.

For downloads it allows listing (with optional state and query
filters), starting new downloads, cancelling, pausing, resuming,
retrying interrupted downloads,
and erasing download history entries.

When opening a new tab it can also optionally provide credentials for HTTP basic
authentication via the browser's onAuthRequired API, avoiding the need to embed
credentials in the URL where they would be visible in the address bar, history,
and logs.

The event stream includes events for window and tab operations (open, close,
activate, navigate, title change, status change, tab moved, tab
attached/detached between windows, window focus changed), tab group events
(created, updated, removed) on Chrome, as well as download events (created,
changed, erased).

Note: My primary testing and development platform for this is Linux but I do
provide binaries for other desktop platforms for the Rust side of this. Bug
reports from users on those platforms are welcome if I overlooked some minor
platform-specific issues. This is not really meant for use on mobile platforms
since CLI use is uncommon there.

Technical

Version
0.2.0
Manifest
V3
Size
18.94KiB
Min Chrome
88
Languages
1
Featured
No

Metadata

ID
fkiahbkkdclacingcmjebnhafkanhgij
Developer ID
u2091aeb73b50cc4fa016e927be86bb3e
Developer Email
[email protected]
Created
Apr 7, 2026
Last Updated (Store)
Apr 30, 2026
Last Scraped
Jun 7, 2026
Website
Support URL
Privacy Policy

Data sourced from the Chrome Web Store · last verified Jun 7, 2026.