Introducing Octoweb: a keyboard-first AI browser for macOS
Most browsers are built around the mouse. Shortcuts get bolted on afterwards, and the fast path is always the one you have to memorize from a support article. Octoweb starts from the other end: every action has a binding, and the command palette is the interface.
It is free, open source under Apache 2.0, and macOS only — by design.
What it actually is
Octoweb is a Rust binary driving the WebView that macOS already ships. There is no bundled Chromium and no Node process, which is why it starts fast and stays small. Rendering is WKWebView through wry, windowing is tao, and system-wide hotkeys come straight off CGEventTap.
That also explains the platform limit. The parts that make it feel native — the dock icon, the menus, the global keys, the content-blocking rules compiled inside WebKit — are all macOS APIs. A port would be a different browser wearing the same name.
Three things it does differently
The command palette is the whole interface. Press ⌘⇧P and type a URL, a search query, or any fragment of a page title you have seen before. Open tabs and history are fuzzy-matched together and ranked by match quality and visit frequency. Three action rows sit at the bottom of the results: Search, Open URL, and Ask AI.
- TABRust ownership — the bookdoc.rust-lang.org⌘1
- TABOwnership rules cheatsheetgithub.com⌘2
- HISTORYBorrow checker errors explainedfasterthanli.me⌘3
Two characters of a half-remembered title is usually enough. Note the last row: ⌘⇧↵ hands the same query to the AI sidebar instead of a search engine.
The AI lives in a sidebar, not a tab. ⌘⇧A slides an assistant over the right edge of the page — the content underneath is never resized. It talks over ACP to a local octomind agent, which fetches its configuration from a community tap registry and calls whichever model provider you already pay for. The browser never calls a model directly.
Agents can answer with more than text. Through the render_ui tool they draw real A2UI surfaces — forms, approval cards, live views — inline in the chat, and block until you click.
Your agents can drive it. Octoweb runs an MCP server on localhost:3434/mcp with 29 tools for navigation, tab management, page interaction, and content extraction. Point Claude Desktop at it and watch it browse — in a window you can see.
Fast-access slots
The feature I did not expect to use as much as I do. Pin any page to a numbered slot with ⌘⇧1–⌘⇧0, then jump back to it from anywhere with ⌘1–⌘9. Slots persist across restarts and show up in a footer bar and on the new-tab page.
In practice this replaces the bookmarks bar entirely. The four references I actually reread during a task live in slots 1 through 4, and getting to them costs one keystroke instead of a tab hunt.
Workspaces that actually isolate
⌘⇧O switches workspaces. Each one has its own tabs, history, AI sessions, and — the part that matters — its own WebKit data store. Cookies, localStorage, and cache never leak across the boundary, so two accounts on the same site can stay signed in at the same time, and an agent logged into a scratch workspace cannot touch your real session.
Install it
brew install --cask muvon/tap/octoweb
Or grab the archive from GitHub Releases, unpack it, and drop Octoweb.app into /Applications.
There is no account, no license key, and no trial timer. If it saves you time, GitHub Sponsors is how you can say thanks — but nothing is gated behind it.
What it is not
It will not replace your main browser tomorrow. It handles the daily loop — tabs, history, session restore, find-in-page, PDFs, content blocking — but it is honest about being an experiment: a playground for the idea that a browser can be a first-class AI client rather than a container for AI extensions.
It might become the browser you reach for when you want to think.
Octoweb is free and open source, for macOS.
Install it →