Free · Open source · Apache 2.0

Get through your workday in one window.

Octoweb is a free, open source web browser for Mac with your email, terminal, and notes built in, all driven from the keyboard. Hand the busywork to your AI agent and watch it happen. Replies it drafts wait for you to send them.

brew install --cask muvon/tap/octoweb

macOS 13 or later. No account, no telemetry. AI is optional and runs on your own model provider.

⌘/ lists every shortcut

Nothing here requires a click.

A Vim-style browser for people who live in Vim, Emacs, or a terminal. Every action has a key, the frequent ones are single letters or home-row labels, and you can remap almost all of them. The fast path is the only path.

  • ⌘⇧P/retry↵ Reopen the page where you read about retries last week.
  • EHR Archive one email, snooze the next, reply to the third.
  • ⌘⇧Fa Click any link or button without reaching for the mouse.
  • ⌘`⌘D Open the terminal and split it, already in the same folder.
  • ⌥⌘J Drop the page you are reading into today’s notes as a task.
  • ⌃D⌃U Scroll half a page down and back up, the way Vim does.

Press any of these keys. The caps press with you.

See all 53 shortcuts

⌘⇧I opens your inbox

Get to the bottom of your inbox, and stay there.

Email built into your browser: Gmail, iCloud, Outlook, or any IMAP account, as many as you like. Every decision is one key, and ⌘Z takes it back.

  • EDone
  • HSnooze
  • PPin
  • MMute
  • BBlock sender
  • TTo notes
  • RReply
  • SSummarize
  • ⌘ZUndo
Strangers wait outside
Turn on Gatekeeper and everyone already in your mail stays accepted, while new senders wait under New senders until you accept or block them.
Send it later, get chased automatically
Schedule a send for this evening or next week. Ask to be reminded and the thread comes back if nobody replies in a day, three days, or a week.
Let the AI read the long ones
Summarize a thread, get a brief sorted into needs reply, waiting, FYI, and can archive, or turn one line of intent into a reply in your voice. Mail AI is off until you switch it on; when it is on, the text it reads goes to the model provider you set up, and its drafts never send themselves.
Your mail stays yours
Messages sync to a local database on this Mac, so search works offline. Passwords and tokens live in the macOS Keychain, and remote images can be hidden with exceptions per sender.

Hand the busywork to your agent.

Octoweb is an agentic browser: Claude Code, octomind, or your own script can browse, fill forms, and read your mail through its built-in MCP server, in a window you can watch. When it needs a decision, it asks.

  • Forms filled from what you already have. Point it at a contract in your mail and a supplier portal, and it fills one from the other in a background tab.
  • Replies drafted, never sent. mail_create_draft only fills your composer. Sending is a key only you press.
  • Your screen stays yours. browser_navigate always opens in the background, and browser_switch_tab is the only tool allowed to move your focus.
  • Pages can't hijack it. Page and mail text reach the agent fenced as untrusted, and the server rejects requests from websites, so a page you visit can't drive your logged-in browser.

Nothing to install, nothing to start

The server comes up with the browser on localhost:3434/mcp. Any MCP client takes the same URL. Here is Claude Code:

claude mcp add --transport http octoweb http://localhost:3434/mcp

Setup for Claude Desktop, Cursor, and octomind

A few of the 38 tools

  • browser_fill_form Fill several fields and optionally submit, in one call
  • browser_dismiss_overlay Dismiss consent overlays — prefers Reject, never auto-accepts
  • browser_snapshot Map interactive elements with @N refs — pierces iframes and shadow DOM
  • mail_read_thread Read a whole conversation as text, fenced as untrusted
  • mail_create_draft Put a draft in your composer — only you can send it
  • render_ui Draw an interactive A2UI surface in the sidebar and wait for the click
See all 38 tools

⌘⇧A opens the assistant

Ask about any page without leaving it.

The assistant slides over the right edge, reads the page you are on, and answers as it writes. The page underneath never moves.

Powered by octomind.run

A local agent, with the model provider you choose

The sidebar speaks ACP to an octomind agent running on your Mac, which Octoweb starts for you. The browser never calls a model provider directly.

1

Install octomind

curl -fsSL https://raw.githubusercontent.com/muvon/octomind/master/install.sh | bash

The Homebrew cask brings it along, and Octoweb installs it through Homebrew if it is missing.

2

Give it an API key

Any provider octomind supports. OPENROUTER_API_KEY covers most of them.

3

Press ⌘⇧A in Octoweb

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.

  • Fix text where it is (⌘⇧E) — select text on any page and rewrite, summarize, or translate it in place.
  • Ask about a passage (⌘⇧K) — select it and the assistant explains it with the page as context.
  • Chores on a schedule — watch a page for changes, compare open tabs, or digest what you saved for later, now or every morning, with octomind workflows.
  • Buttons instead of paragraphs — agents draw real forms, approval cards, and pickers in the chat with A2UI v1.0.

⌘⇧P opens the palette

Find anything you have already seen.

Pages, mail, and the notes you took along the way are one search away, so you can stop keeping thirty tabs open just in case.

/words

Search what pages said, not just their titles

Start a palette query with / to search the text of the last 2,000 pages you visited, and your mail with it. Private tabs are never indexed.

⌥⌘J

Capture without switching apps

Drop the current page into today’s notes as a task, or your selection as a quote with its link. Notes are one plain markdown file per workspace.

⌘⇧L

A reading list that cleans up after itself

Saved pages sit on top of the palette. Open one and it leaves the list; ignore it for two weeks and it drops out, still findable by its words.

⌘1–⌘9

Ten pages, one keystroke away

Pin the docs you live in to a numbered slot with ⌘⇧1–0 and land back on them from anywhere, one set per workspace.

⌘⇧O switches workspace

Work and personal never touch.

Each workspace is its own browser. Cookies, history, mail accounts, extensions, terminal tabs, notes, and AI sessions stay inside it, so two Google accounts stay signed in at once and an agent working in one never sees the other.

WorkClientPersonal
Signed in toCompany Google, GitHubClient GooglePersonal Google, bank
Mail[email protected]Client inboxiCloud
ExtensionsPassword manager, grammar checkerPassword managerPassword manager
Terminalapi, webdeployNone
NotesSprint tasksMeeting notesTrip plans

Every workspace has its own WebKit data store, not a colored tab group. Move a tab across with ⌘⇧M and it reloads on the other side with nothing carried over.

Bring the tools you already use.

Switching browsers usually means giving things up. Here the terminal, your extensions, and your SSH box come along.

⌘`

A terminal under the page

Tabs and splits (⌘D, ⌘⇧D), each new split in the same folder. Quit and relaunch, and every pane comes back in its last directory with its old output above.

Settings › Extensions

Your Chrome extensions

Paste a Chrome Web Store link, or load a .crx, .zip, .xpi, or unpacked folder. Run each one everywhere or only in the workspaces you pick.

Needs macOS 15.4 or later.

Settings › Proxies

Route sites, not the whole Mac

Send chosen domains through a SOCKS5 or HTTP proxy, or through an SSH tunnel Octoweb keeps alive using your keys and ~/.ssh/config. Everything else goes direct.

Needs macOS 14 or later.

Light enough to leave open all day.

Octoweb is a lightweight Mac browser: a Rust binary driving the WebView macOS already ships. No Electron and no bundled Chromium, so there is no second browser engine to download, update, or keep in memory, and it behaves like a Mac app instead of a web page pretending to be one.

Rendering

System WKWebView

via wry — the same engine as Safari, kept current by macOS updates.

Runtime

Rust, LTO, stripped

One binary. codegen-units = 1, no bundled Chromium, no Node process.

Hotkeys

CGEventTap

System-wide shortcuts straight from the OS event stream.

Blocking

WKContentRuleList

Tracker and ad rules compiled inside WebKit, not run as page JavaScript.

Cold start

Zero network calls

Favicons are cached as base64 data URIs, so startup never waits on a request.

Memory

Smart hibernation

Background tabs freeze under pressure and thaw on return.

The parts you only notice when they are missing.

Private tabs ⌘⇧↵

Open any palette result in a tab with its own in-memory storage. Nothing reaches history, the session, or page search, and closing it discards everything.

Copy as markdown ⌥⌘C

A quote with its source link, or the whole page as clean markdown when nothing is selected. Ready to paste into a prompt or a ticket.

Video calls

Camera and microphone work, and a tab in a call is never put to sleep by hibernation, so the meeting keeps going in the background.

Light, dark, or system

One appearance setting for the app and every page in it. The terminal follows along or stays fixed, your choice.

Configurable keybindings ⌘,

Remap any shortcut in Settings. Changes apply on the very next keystroke — no restart, no reload.

Find in page ⌘F

Full-text search with native highlighting via the CSS Custom Highlight API. No DOM rewriting, no layout thrash.

Screenshots to clipboard ⌘S

Viewport or full page, straight to the clipboard. Paste it into your agent, your notes, or a ticket.

PDF and DOCX viewer

Open documents in a tab instead of bouncing them through Preview or Word.

Session restore

Tabs, history, slots, and terminal panes come back exactly as you left them.

Free, and one command away.

A free browser for Mac: no account, no license key, no trial timer. Runs on macOS 13+, Apple Silicon or Intel.

Homebrew

Recommended. The cask pulls in octomind and octobrain too, so the AI sidebar only needs your API key, and upgrades come with brew upgrade.

brew install --cask muvon/tap/octoweb

Direct download

Open the disk image and drag Octoweb.app into /Applications. Signed and notarized.

v0.18.1 · released 2026-10-15 · all releases

Build from source

Requires the Rust toolchain and Xcode Command Line Tools.

git clone https://github.com/muvon/octoweb
cd octoweb
./build.sh --dev
open dist/Octoweb.app

Your first five minutes

  1. Press ⌘⇧P and type an address, a search, or a page you have seen before.
  2. Add your mail in Settings (⌘,) → Mail, then press ⌘⇧I.
  3. Optional: give octomind an API key for your model provider, then press ⌘⇧A for the assistant.

Free because it should be, not until it isn't.

Octoweb is an open source browser, licensed 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.

Read it before you run it

Every line of the browser, the mail client, the MCP server, and the ACP client is on GitHub. A browser that holds your mail sees everything you do. You should be able to check what it does with that.

Browse the source →

Bring your own agent

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.

Tap registry →

Questions people actually ask.

Is Octoweb really free?

Yes. Octoweb is a free AI browser, open source under Apache 2.0 — no trial, no paid tier, no account, no telemetry. The AI features run on your own model provider. If Octoweb saves you time, GitHub Sponsors is how you can say thanks, but nothing is gated behind it.

Why macOS only?

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.

Is there a browser with email built in?

Yes. Octoweb has a full mail client inside the browser for Gmail, iCloud, Outlook, and any IMAP account, with single-key triage, send later, and optional AI summaries and drafts that you always send yourself.

Which mail accounts work, and how do I sign in?

Gmail and Google Workspace sign in with Google or an app password. iCloud needs an app-specific password, Outlook and Microsoft 365 need an app you register in Microsoft Entra, and any other IMAP server takes your password. Add as many accounts as you like in Settings → Mail. Passwords and tokens live in the macOS Keychain, and mail syncs into a local database on your Mac, so search works offline. Nothing passes through a Muvon server.

Can the AI send email for me?

No. Mail AI is off until you turn it on in Settings. Once it is on, it can summarize threads, sort the inbox into a brief, pull tasks into your notes, and draft replies in your voice. The text it reads goes through octomind to the model provider you set up. A draft only ever lands in your composer: sending is a key only you press.

Do I need an AI subscription to use it?

No. Octoweb is a complete browser, mail client, terminal, and notes app without any AI configured. The sidebar, inline edit, and Mail AI are optional — they connect to a local octomind agent, which you point at whichever provider you already pay for.

Does my browsing data leave my machine?

Not by itself. History, sessions, notes, and mail 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.

How is this different from an AI extension in Chrome?

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.

Do my Chrome extensions work?

Many do. Paste a Chrome Web Store link or an extension id in Settings, or load a .crx, .zip, .xpi, or unpacked folder. Octoweb runs them through WebKit’s own extension support, which needs macOS 15.4 or later, and you choose which workspaces each one runs in.

Can I use it as my main browser?

For a lot of people, yes. It handles the daily loop — tabs, history, session restore, back and forward gestures, find in page, PDFs, content blocking, extensions, video calls — and adds the mail, terminal, and notes you would otherwise keep in separate apps. It is a young project, so file an issue when a site misbehaves.

What is proactive learning, and is it on?

A background agent that, every 30 minutes, looks at your open tabs and recent history and memorizes patterns into octomind local memory. It is off by default, because it reads what you browse; you turn it on with one toggle in Settings.

Try tomorrow’s workday in one window.

Free and open source, Mac only by design. Install it tonight, add your mail, and count how many other apps you open before lunch.

brew install --cask muvon/tap/octoweb

macOS 13+ · No account required

The sidebar runs on octomind