Fox Hop
Focus a specific Firefox tab from anywhere on macOS — one product across the terminal, Raycast, and the browser, all driving the same configuration.
One product, three surfaces
Fox Hop isn't a single CLI — it's a small ecosystem, and every surface reads the same targets from ~/.config/foxhop/tabs.json. Reach for whichever fits the moment; they all drive the same configuration.
CLI + native host
The engine. @kud/foxhop-cli focuses tabs, manages targets, and bridges
macOS to Firefox over native messaging — scriptable from the terminal or
bound to any global hotkey.
Firefox extension
The in-browser half of the bridge. It receives a request from the native host and switches to the matching tab — opening it at the configured URL when it isn't already there.
Raycast extension
A launcher-native way to search, add, edit, and focus targets — plus
generated per-tab hotkey scripts via foxhop sync.
Up and running in two steps
npm install -g @kud/foxhop-cli
foxhop install
foxhop focus chatgpt
One request, any entry point
Every surface speaks to the same native host, which talks to the Firefox extension — so a hotkey, a Raycast command, and a terminal call all end the same way: the tab you wanted, in front of you.
hotkey / Raycast / terminal
→ foxhop CLI
→ native messaging host
→ Firefox extension
→ your tab, focused
Configure once, focus everywhere
Targets, matching strategies, per-tab hotkeys, and the full CLI reference live in the docs.
Open documentation →