Async Link is a native macOS default-browser picker. It receives a link, shows the browser and profile choices available on the active display, and opens the selected destination.
The current app is implemented in Rust and AppKit. It has no Deno, web view, Svelte, or Node.js runtime dependency.
- Discovers browsers registered for web links through LaunchServices.
- Discovers Chromium and Firefox profiles and lets each profile have an alias.
- Opens a compact, titleless picker on the active display and Space.
- Supports menu-bar and cursor-relative picker placement.
- Opens compatible browsers in private mode or requests a background launch.
- Assigns single-key shortcuts and default number shortcuts to choices.
- Reorders or hides individual browser and profile choices.
- Restores the most recently received link from the optional menu-bar item.
- Keeps settings outside the app bundle in
~/.async/link/settings.json. - Hides both the menu-bar item and Dock icon by default, with settings to show either one.
Opening Async Link directly shows Settings. Opening a web link shows only the picker; Settings remains hidden until the cog button is selected.
Async Link currently targets Apple Silicon Macs running macOS 12 or later.
gh repo clone async/link
cd link
./scripts/install-rust.shThe install script builds and verifies the app, installs it at
/Applications/Async Link.app, registers it with LaunchServices, and attempts
to make it the default web browser. macOS may require the final default-browser
selection in System Settings.
For build requirements and individual commands, see Building and installation.
- Select a browser or profile with the pointer.
- Press its displayed key, or the default number key, to open it.
- Enable Private for a private window where the browser supports it.
- Enable Background to request a background open where supported.
- Press
Escapeor select the close button to dismiss the picker. - Select the cog button to open Settings.
Settings provide browser discovery, profile aliases, ordering, visibility, hotkeys, picker placement, menu-bar visibility, Dock visibility, reset, and default-browser controls. See Settings for details.
| Path | Purpose |
|---|---|
native/src/ |
Rust application, settings, discovery, launch, and AppKit UI |
native/macos/ |
App bundle metadata and macOS resources |
scripts/package-rust.sh |
Release build and app-bundle assembly |
scripts/install-rust.sh |
Local installation and LaunchServices registration |
docs/ |
Architecture, settings, and build documentation |
The package and install scripts build only the native implementation.
Async Link is available under the MIT License. The repository keeps the inherited history and copyright notice. See Third-party notices for attribution details.