Octoweb 0.19: automatic updates and site permissions

· · 10 min read

Octoweb 0.19.0 is out, and it's the last version you need to install by hand. From now on Octoweb checks for updates once a day and installs them when you quit. Sites now ask before they use your camera, microphone or location. Mail searches your whole mailbox as you type, in your own words if you like, and the sidebar shows a specialist's work while it happens.

brew upgrade --cask octoweb
brew upgrade octomind

Read this before you upgrade

  • Update by hand this once. Copies of 0.18.1 and earlier have no updater. Install 0.19 yourself, with Homebrew or the DMG, and every release after it arrives on its own.
  • Name the cask. Octoweb now updates itself, so a plain brew upgrade skips it. brew upgrade --cask octoweb still upgrades it.
  • Apple Silicon only. There is no Intel build of 0.19. Intel Macs stay on 0.18.1, which remains on the releases page.
  • Update octomind too. The sidebar now runs on octomind's server (more on that below), which needs a recent octomind.

Octoweb updates itself

Octoweb now has an updater, Sparkle, the one many Mac apps use. Once a day it asks octoweb.xyz whether a new version is out. That request carries no personal content, only the app's version. When there is an update, it downloads in the background from cdn.octoweb.xyz, is checked against Octoweb's signing key, and installs the next time you quit.

Octoweb never restarts itself to install. Session restore brings your tabs back, but not text you typed into a page, private tabs, or what was running in the terminal, so the update waits for a quit you chose.

The controls are in Settings (⌘,) → General → Updates:

Control What it does
Check for updates daily The daily request to octoweb.xyz. Turn it off to stop it
Download updates automatically Fetches an update in the background, to install when you quit
Check for Updates… Checks now. The same item is in the Octoweb menu

The row with the button shows the version you're running. The privacy page covers what the check sends.

Sites ask before using your camera, microphone or location

Until now, Octoweb let any site that asked use the camera and microphone, once macOS had allowed Octoweb itself. Sites couldn't get your location at all. Now every site asks, and you decide.

When a page asks, a prompt opens under the address bar: "meet.google.com wants to use your camera and microphone." Allow and Block are remembered for that site. The × means not now: it refuses this one request, and the site can ask again. A tab in the background keeps its question until you switch to it.

Click the lock in the address bar to see a site's permissions. Camera, Microphone and Location each have Ask, Allow and Block, with their state beside them: Ask each time, Allowed, Blocked, In use or Paused. Reset permissions forgets everything you chose for the site. Most changes apply the next time the page asks, so a Reload to apply button appears after you make one.

While a page has the camera or microphone on, a red chip sits in the address bar. Click it to Pause, Resume or Stop either one without leaving the page. Blocking a device that's in use turns it off at once. Octoweb's tab sleeping skips a tab while its camera or microphone is on.

Location is new. The first time a site you allowed asks for it, macOS asks once whether Octoweb may use Location Services. Octoweb reads your position only while a page is watching it. If Location Services is off for Octoweb, a site you allowed shows Allowed, but off in macOS Settings, with an Open macOS Settings button.

Your choices belong to the site (its scheme, host and port, such as https://meet.google.com) and apply in every workspace.

Mail

Search your whole mailbox as you type

Search used to ask your mail servers only when you pressed ↩, and only for plain words. Now, a moment after you stop typing, Octoweb asks the servers of every account in the workspace too: All Mail on Gmail, and the archive, inbox and Sent elsewhere. Local results show at once, with Searching all mail… under them until the servers answer.

Filters go to the servers as well, so from:anna before:2025-01-01 finds mail older than the 90 days Octoweb syncs, with no other words needed. If one account can't be searched, the other accounts' results still show, with a line naming the account that failed.

Ask AI searches in place

With Mail AI on, the ✦ Ask AI button in search results used to pass your words to the sidebar assistant. Now the mail reader turns them into a search right in the pane. Type what you remember, such as "the invoice Anna sent in March 2026", and click ✦ Ask AI. The search box fills with a query like from:Anna after:2026-03-01 before:2026-04-01 invoice and runs, so you see what was searched for and can change it. Only your words go to the AI, none of your mail.

The daily brief opens in Mail

Click the ✦ Daily brief button in the Mail toolbar, or turn on Morning brief in Settings → Mail to get one each morning. The mail list says Sorting your inbox…, then shows four groups: Needs reply, Waiting on others, FYI and Can archive. Each group has its count and its own Done all, and each conversation shows a one-line note on what it is in place of its preview.

The brief now runs on the mail reader, the specialist with no tools. It sees each conversation's sender, subject, preview, whether it's read and who wrote last, never whole messages. With the brief and Ask AI moved over, every AI job Octoweb runs on your mail now goes to a specialist with no tools. In 0.18, these two still went to the sidebar assistant.

Faces in the list

Every conversation in the list now has an avatar: the sender's initials, in a color that stays the same for that address. Automated mail from a company, such as a GitHub notification or a newsletter, shows the site's icon instead, on two conditions. Your mail provider must have confirmed that the message really comes from that domain (DMARC, or a DKIM signature that matches it), and Octoweb must already have the site's icon from your browsing. No request goes out to fetch a logo. Mail from people keeps their initials, and so does mail from gmail.com, outlook.com and other mailbox providers.

Smaller mail changes

  • New mail arrives as one notification. Mail that lands while a notification is up joins it, as 3 new messages with the senders and the latest subject. Click it for the conversation, or for the inbox when it holds several. It stays up 6 to 10 seconds, depending on its length, and waits while the pointer is on it.
  • Plain addresses are links. A www.example.com or [email protected] written as plain text is now a link, in plain-text and HTML mail. Clicking an email address starts a message to it.
  • HTML mail suits dark mode. Mail that sets no background of its own now reads in the app's colors, as plain-text mail does, with dark text turned light. Mail with its own dark design gets that design, and the rest keeps the white page it was designed on.
  • Messages show before their images load. A message no longer stays hidden until its remote images finish loading.
  • Always from sticks. With Block remote images on, Always from a sender was saved but read back wrong, so that sender's images were hidden again. They now stay shown.
  • ⌘Z takes back a send. While the bar offers Undo for a send or a scheduled send, ⌘Z does the same. It also works with the focus inside a message.
  • Report spam. From 0.18.1, which had no post of its own: ! or Report spam moves a conversation to the server's Junk folder (the archive, if there is none), and later mail from that sender goes there too. ⌘Z undoes it.

Watch a specialist work

When the assistant hands part of a task to a specialist, the sidebar now shows that run as it happens. A collapsed row names the specialist, its status (running, done, failed or cancelled) and its latest step. Click it for the transcript: the input it got, its thinking, its text, each tool call with its result, and what it cost in dollars and tokens. Until now, a specialist's work showed up only at the end, as a report.

If the connection to octomind drops, the run shows recovering, then picks up where it was, in its place in the conversation. Live runs need octomind 0.59 or later.

One octomind for everything

Octoweb used to start an octomind acp process for every chat and every background job. Now one octomind server on a local port serves them all: each workspace's chats, background learning, inline edit and the mail jobs. Connecting to it takes a secret that Octoweb makes each time it starts the server. If the server exits, Octoweb starts a new one, and each chat resumes from where it was saved.

A message you send while the session is busy, for example with a specialist's reply coming in, now waits its turn instead of failing. If the session stays busy for 30 minutes, Octoweb gives up and says so.

Smaller changes

  • Addresses with a port load. Typing localhost:3000, 127.0.0.1:8080 or example.com:8080/x in the address bar sent it to macOS as if it were another app's link, and an agent's browser_navigate to it failed with "No app registered for URL". Both now open the page. Thanks to Aaqibhafeez Khan for the fix (#25).
  • Closing tags show as written. A </div> in an assistant's answer used to appear as <//div>.
  • Specialist replies come clean. A <system-reminder> block that a model tacked onto a specialist's reply no longer shows in the sidebar.
  • Cards wait for you. A card from the assistant that's waiting for your click no longer ends after 20 minutes with "agent idle for 20 minutes — no response". Numbered lists in cards keep counting across a blank line, and clicking a card the assistant showed on its own no longer leaves the sidebar thinking.

Upgrade

brew upgrade --cask octoweb
brew upgrade octomind

You can also download the DMG and drag Octoweb to Applications, or get it from the 0.19.0 release. After this one, updates come on their own. The complete commit list is in the changelog. For the keyboard, see the shortcut reference, or press ⌘/ in Octoweb for the live list, remaps included.

Don Karter

Don Karter

CEO & Co-founder at Muvon

20+ years in software engineering, the last decade deep in AI systems. Builds Octoweb — a keyboard-first AI browser for macOS on WebKit and Rust. Writes from the trenches: native browser engineering, agents driving real pages over MCP, and what breaks when every action has to be one keystroke away.

Octoweb is free and open source, for macOS.

Install it →