Octoweb 0.18: AI email reply writer, swipe to Done

· · 7 min read

Octoweb 0.18.0 is out. Yesterday's release brought your inbox and notes into the browser. This one is about getting through that inbox faster: an AI email reply writer in the composer, a swipe to mark mail Done, the next conversation ready before you reach it, and a short sound when something you did went through.

brew upgrade --cask octoweb

Tab moved in Notes

Read this first if you indent notes with Tab: Tab no longer inserts two spaces in Notes. Tab and ⇧Tab now switch between the Notes and Mail tabs of the pane. In the Mail composer, Tab still moves between fields.

Write email replies with AI

With Mail AI on in Settings → Mail, every reply has a ✦ Write with AI button beside Send. Click it or press ⌘J, and a line opens under the text for what to say: "say yes, propose Tuesday", "decline politely", or nothing at all for the reply the conversation calls for. The AI email response streams into the body, lighter than your own text until you keep it.

Under the reply:

Control What it does
Keep (↩) Puts it in the body as one edit that ⌘Z undoes
Shorter, Friendlier, More formal Reworks it in that direction
↻ Writes it again
The text line Any other change, such as "translate to German"
Esc Discards it, or stops it mid-stream

Once the body has words in it, the button reads ✦ Refine with AI and opens on Improve (↩), with the same controls. Rough notes become a finished email that keeps every point you made, in your order. A finished draft gets its mistakes fixed and its phrasing tightened, with as little changed as makes it better.

The writer works from the thread, the text of its PDF and plain-text attachments, a few emails you sent that person before (for tone, greeting and sign-off, not content), and your name and signature settings. It writes in the conversation's language. When the reply needs a fact that isn't in the thread, the attachments or your words, it leaves a short [placeholder] instead of inventing one.

You can leave the thread while it writes. The reply keeps coming, and the composer is back with it when you open the thread again. Write with AI works in replies, not in forwards or new mail, and nothing is ever sent for you.

Mail can't steer the assistant

Mail comes from anyone, and an email can carry text written for an AI rather than for you. So the jobs that read mail now run on two specialists with no tools at all: octoweb:mail-reader summarises and lists tasks, and octoweb:mail-writer writes replies. Text goes in, text comes out, and Octoweb acts on the answer itself. Nothing in an email reaches an agent that can browse, read your tabs, or touch the mailbox.

The sidebar assistant still gets mail for the two asks that need its tools, the daily brief and plain-language search. All mail text arrives inside an untrusted-content wrapper, and a message can no longer close that wrapper early to break out of it.

Two reader jobs changed shape along the way:

  • Summarise (s) streams in under the thread's toolbar, in place of the inbox line, and stays with that conversation while you read another.
  • Extract tasks has the reader list the tasks; Octoweb adds them to your notes and tells you how many.

Swipe to Done

A two-finger swipe right on a conversation in the list marks it Done, as in Apple Mail. Swipe a sender group in Other and every conversation in it goes at once, the rows folding away together.

The trackpad ticks when you've swiped far enough. Let go before that and the row slides back; a quick flick commits from a shorter swipe. On an open thread, the same swipe takes you back to the list, like its back button.

The next conversation is already open

Done, Snooze, or anything else that takes the open conversation out of the inbox now opens the next one in its place: the one below, or the one above at the end of the list. A run of e, e, e clears the inbox without a trip back to the list. With nothing left, the list shows. A thread you opened from your notes still returns you to them.

The conversations on either side of the one you're reading load ahead, so the next one shows at once. Loading ahead doesn't mark them read, and neither does a redraw, so mail you marked unread stays unread. Moving around keeps open messages, drafts and scroll position, and the list and thread animate as they change instead of redrawing from scratch.

Links and keys inside a message

  • Right-click a link for Open in New Tab, Open in Background Tab, or Copy Link. ⌘-click opens it in the background.
  • Single-key shortcuts keep working after you click into a message. j, k, e and the rest used to stop once focus was inside the email. Space and the page keys still scroll it.
  • Going back no longer blanks the pane. Back and forward do nothing in Mail, and the right-click menu drops Download, Back, Forward and Reload.

Four sounds, and only four

Octoweb now plays a short, soft sound at four moments:

  • you press Send (Send later stays silent)
  • a conversation is marked Done, by key, button or swipe
  • an AI draft is ready in the composer
  • new Important mail arrives while Octoweb is the active app

Nothing else makes a sound: not navigation, typing, or opening mail. Settings → General → Sounds turns them all off, and they stay silent when macOS's Play user interface sound effects is off.

Safer attachments

  • Saved attachments are quarantined. Octoweb marks them the way Safari and Apple Mail mark downloads, so macOS Gatekeeper checks an app or script from an email before it runs the first time.
  • The mail view has its own cookies. Images and anything else a message loads no longer see the cookies of your browser tabs.

Smaller changes

  • Restored terminals start clean. A program that asked the terminal for its colors, type or cursor position left that question in the saved output. Replayed after a restart, the answer landed at the new prompt as junk like 10;rgb:…;2c. Replays now leave those questions out.
  • Audio in embedded players counts. A video in an embedded player, such as a YouTube result in Google, now marks its tab as playing. The workspace switcher lists it for a one-click jump, and agents see it in browser_get_playing_tabs. A tab also stops counting as playing once you leave the page.
  • Slimmer toolbars. The Mail and Notes toolbars are 32 px tall, leaving more of the pane for mail and notes.

Upgrade

brew upgrade --cask octoweb

You can also download it from the 0.18.0 release. The complete commit list is in the changelog. New to Mail? The 0.17 release notes cover accounts, triage keys and search. 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 →