One palette, everything
Type a URL, a search, 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 how often you actually go back.
Octoweb is a keyboard-first AI browser for macOS. WebKit and Rust — no Electron, no Chrome, no mouse required. The command palette is the whole interface, the AI lives in a sidebar instead of a tab, and your agents can drive the browser directly over MCP.
brew install --cask muvon/tap/octoweb Apple Silicon · macOS 13+ · No account required · Intel Mac
Most browsers are built around the mouse and bolt shortcuts on afterwards. Octoweb starts from the keyboard, so the fast path is the only path.
Type a URL, a search, 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 how often you actually go back.
Pin the docs you live in to a numbered slot with ⌘⇧1–0 and land back on them from anywhere. Slots survive restarts and show up in the footer bar and the new-tab page.
Tab cycling in most-recently-used order, half-page scrolls, ⌃A and ⌃E in every input, ⌃R to search prompt history. Nothing to learn if you already live in a terminal.
Remap anything in Settings. Changes persist to keybindings.json and take effect on the very next keystroke — no restart, no reload, no config reload dance.
Press ⌘⇧A and the sidebar slides over the right edge — the page underneath is never resized or reflowed. Responses stream in as they arrive.
The sidebar speaks ACP to an octomind agent running on your Mac. octomind fetches the agent manifest — model, system prompt, tools — from the community tap registry and configures itself. The browser never calls a model provider directly.
curl -fsSL https://raw.githubusercontent.com/muvon/octomind/master/install.sh | bash octomind acp octoweb:assistant The sidebar connects on its own. Swap the agent tag in the header at any time — developer:rust, octoweb:trend, or one of your own.
render_ui agents draw real forms,
buttons, and live views inline in the chat. Full A2UI v1.0 basic catalog, with data binding and validation.Octoweb runs an MCP server on localhost:3434/mcp with 29 tools. Point Claude Desktop, octomind, or your own script at it and watch it browse — in a window you can see.
An extension can read a page and paste text back. An MCP server can navigate, click, type,
submit forms, screenshot, and read the console and network log. Octoweb keeps the agent out
of your way while it works: browser_navigate always opens in the background,
and browser_switch_tab is the only tool allowed to move your focus.
One server covers every workspace. Requests carry an X-Octoweb-Workspace token that decides which workspace they act on, so an agent driving
tabs in a background workspace never disturbs the one in front of you.
The server comes up with the browser. Any MCP client takes the same URL — here is Claude Code:
claude mcp add --transport http octoweb http://localhost:3434/mcp browser_click Click an element, retrying until stable and unobstructedbrowser_fill_form Fill several fields and optionally submit, in one callbrowser_execute_js Run JavaScript in the page — promises are awaitedbrowser_snapshot Map interactive elements with @N refs — pierces iframes and shadow DOMbrowser_network_requests Recent fetch and XHR activity with statuses and timingsrender_ui Draw an interactive A2UI surface in the sidebar and wait for the clickEach workspace gets its own tabs, history, AI sessions, and a dedicated WebKit data store — cookies, localStorage, and cache never leak across the boundary. ⌘⇧O to switch, ⌘1–⌘0 while the popover is open.
SSO session, staging cookies
Agent-driven, no login
Separate data store
Two accounts on the same site stay signed in at the same time. Log an agent into a scratch workspace and your real session is untouched.
Octoweb is a Rust binary driving the WebView macOS already ships. That is why it starts fast, stays small, and behaves like a Mac app instead of a web page pretending to be one.
via wry — the same engine as Safari, kept current by macOS updates.
One binary. codegen-units = 1, no bundled Chromium, no Node process.
System-wide shortcuts straight from the OS event stream.
Tracker and ad rules compiled inside WebKit, not run as page JavaScript.
Favicons are cached as base64 data URIs, so startup never waits on a request.
Background tabs freeze under pressure and thaw on return.
Remap any shortcut in Settings. Changes apply on the very next keystroke — no restart, no reload.
Select text on any page and transform it in place. Rewrite, summarize, translate — the result goes straight back into the field.
Full-text search with native highlighting via the CSS Custom Highlight API. No DOM rewriting, no layout thrash.
Viewport or full page, straight to the clipboard. Paste it into your agent, your notes, or a ticket.
Open documents in a tab instead of bouncing them through Preview or Word.
Trackers and ads are filtered by WKContentRuleList — compiled rules inside WebKit, not a JavaScript extension.
Background tabs freeze under memory pressure and thaw when you return. Flip on the aggressive curve if RAM is tight.
Tabs, history, and slots come back exactly as you left them.
Icons are stored as base64 data URIs, so a cold start makes zero network requests before you type.
No account, no license key, no trial timer. Runs on macOS 13+, Apple Silicon or Intel.
Octoweb is Apache 2.0. There is no paid tier waiting behind a version bump, no telemetry, and no account to create. Read the source, fork it, ship your own agent to the tap.
Every line of the browser, the MCP server, and the ACP client is on GitHub. A browser sees everything you do — you should be able to check what it does with that.
Browse the source →Agents ship as manifests in the octomind tap registry, not as browser code. Publish you:your-agent and type the tag into the sidebar header — no fork, no rebuild.
Octoweb stays free either way. Sponsorship pays for the Apple Developer certificate, the notarization pipeline, and the hours that go into the next release.
Sponsor on GitHubYes. Octoweb is free and open source under Apache 2.0 — no trial, no paid tier, no account, no telemetry. If it saves you time, GitHub Sponsors is how you can say thanks, but nothing is gated behind it.
Because the whole thing leans on macOS-native APIs: CGEventTap for system-wide hotkeys, WKWebView through wry for rendering, AppKit for the dock icon and menus. A Linux or Windows port would be a different browser wearing the same name, so it stays Mac-only for now.
No. Octoweb is a complete browser without any AI configured. The sidebar, inline edit, and background learning are optional — they connect to a local octomind agent, which you point at whichever provider you already pay for.
Not by itself. History, sessions, and favicons are stored locally. The only outbound AI traffic is the request octomind makes to the provider you configured — the browser never calls a model directly, and there is no analytics pipeline behind it.
An extension can read a page and paste text. Octoweb runs an MCP server inside the browser, so your agent can actually drive it — navigate, click, fill forms, screenshot, read the console and network. And the assistant lives in a sidebar overlay, not another tab competing for space.
No. Octoweb is Rust on top of wry and tao, rendering through the system WKWebView. There is no bundled Chromium, so the app ships small and starts fast.
It handles the daily loop — tabs, history, session restore, back and forward gestures, find in page, PDFs, content blocking. It is honest about being an experiment though. Most people keep it as the browser they reach for when they want to think.
Every one of them, in Settings (⌘,). Remaps persist to ~/.config/octoweb/keybindings.json and apply on the next keystroke. Only the ⌘+digit fast-access slots are positional and fixed.
A background agent wakes up every 30 minutes by default, looks at your open tabs and recent history, and memorizes patterns into octomind local memory. It is on by default and switched off with one toggle in Settings.
The repository is on GitHub. Issues, pull requests, and shortcut suggestions are all welcome — and since the AI agents ship as tap manifests, you can publish your own specialist agent without touching the browser code.
Free, open source, macOS only — by design. Install it, press ⌘⇧P, and see whether the mouse comes up at all.
brew install --cask muvon/tap/octoweb Apple Silicon · macOS 13+ · Intel Mac
The sidebar runs on octomind