Bee allows you to edit text fields in your browser using an external editor.
There are two steps required before using this extension:
- Install a host application.
- Configure the extension in your browser.
Important
Both steps are required. Be sure to assign a keyboard shortcut to invoke the external editor.
- Firefox 57+
- Google Chrome
- Chromium
Supported Operating Systems: Linux, Windows, and macOS.
Use one of the following native messaging host applications:
- BeeCtl – written in C. Supports Linux, macOS, and Windows.
- A Python script included in this repository – for Linux and macOS.
Follow the instructions provided in the BeeCtl repository.
Requirements:
- Python 2 or 3
- Bash 4.4+
- Perl 5
You can install the host application either:
- Locally (for the current user), or
- System-wide (for all users; requires
rootpermissions)
To download the project:
mkdir -p ~/src/chrome-bee
cd ~/src/chrome-bee
wget -q -O - https://github.com/rosmanov/chrome-bee/archive/master.tar.gz | \
tar xzvf - --strip-components 1To run the installation script:
From the project directory, execute:
./host/install.sh- If run as a superuser, the host application manifests will be installed system-wide.
- By default, the application installs into the project directory.
To specify a different installation path:
./host/install.sh ~/usr/lib/chrome-beeSee the Wiki for more information.
Install the Bee extension from:
The browser will prompt for confirmation—approve it to complete the installation.
Use your system’s package manager. For example, on Debian-based systems:
sudo apt purge beectlFrom the project directory, run:
./host/uninstall.shNote
Run this command as the same user who performed the installation.
Open the extension’s options page to specify the command for launching an external editor.
Example:
gvim -fYou should also assign a custom keyboard shortcut to invoke Bee1. The default shortcut is <Ctrl>E.
See the Configuration Wiki for full details.
- Place the cursor in an editable field.
- Press the configured keyboard shortcut.
- The external editor window will open with the current text.
- Edit, save, and close the editor.
The updated text will appear in the original text field.
If pressing the keyboard shortcut does not open your editor:
- Make sure you have completed both steps of the installation:
- Host application is installed and running.
- The browser extension is installed and properly configured.
- Ensure the external editor command in the extension options is correct (e.g.,
gvim -f,code --wait,emacsclient -c -n). - Verify the keyboard shortcut is assigned correctly:
- In Chrome/Chromium: go to
chrome://extensions/shortcuts. - In Firefox: open
about:addons, then click the gear icon → "Manage Extension Shortcuts".
- In Chrome/Chromium: go to
- Check browser console logs (Developer Tools → Console tab) for error messages.
- Restart the browser and try again.
- If using the Python host, make sure all dependencies (Python, Bash, Perl) are installed and available in the
PATH.
On Windows, you might need to specify the path to the editor in double quotes, if the path contains spaces, e.g.:
"C:\Users\ruslan.osmanov\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd" --wait
Note
Note the --wait option in the command above. It makes VS Code wait until the file is closed before returning control to the browser. This is important for the extension to work correctly.
This is a known issue in newer versions of Firefox on macOS where it may silently drop connections to the native messaging host.
-
Reset the local Firefox profile state:
- Quit Firefox completely.
- Delete the following files from your Firefox profile directory:
rm ~/Library/Application\ Support/Firefox/Profiles/<your-profile-id>/SiteSecurityServiceState.bin rm ~/Library/Application\ Support/Firefox/Profiles/<your-profile-id>/permissions.sqlite rm ~/Library/Application\ Support/Firefox/Profiles/<your-profile-id>/content-prefs.sqlite
- Restart Firefox.
-
Remove the quarantine attribute from host files:
macOS may block the execution of downloaded files until they are explicitly trusted. Run:
xattr -rd com.apple.quarantine /path/to/chrome-beeNote
You might need to run it as an administrator (e.g., using sudo).
- Reinstall the extension and host application:
- Uninstall the extension from Firefox.
- Delete and reinstall the host application.
- Reinstall the extension from https://addons.mozilla.org/.
- Check Console.app logs:
- Open Console.app and filter logs with Bee or native messaging.
- Look for sandboxing or permission-related errors.
- Test with a new Firefox profile:
- To rule out profile-specific corruption, temporarily create a fresh Firefox profile via
about:profilesand install the extension there.
- To rule out profile-specific corruption, temporarily create a fresh Firefox profile via
See LICENSE file.
© 2014-2025 Ruslan Osmanov 608192+rosmanov@users.noreply.github.com
Footnotes
-
At the time of writing:
- In Chrome/Chromium, click the "Keyboard shortcuts" button at the bottom of chrome://extensions
- In Firefox, open the
about:addons, then select "Manage Extension Shortcuts" from the dropdown next to the "Manage Your Extensions".