Breeze is a native macOS browser for Apple Silicon Macs. It is built on Swift and includes Nav, a built-in Cloud AI assistant, native ad and tracker blocking, split screen browsing, encrypted local data, and zero tracking.
The current shipped app is macOS only. Windows support was removed in v2.10.1.
- Nav, built in - powered by Breeze Cloud, we dont collect data or chats.
- Native ad and tracker blocking - Ghostery's adblocker engine with EasyList and tracking filters runs in the network layer of every tab.
- Zero telemetry - Breeze does not collect browsing history, usage profiles, or analytics.
- Encrypted local data - history and saved passwords stay on device and are protected through the system keychain.
- Sidebar-first browsing - Arc-style vertical tabs, pinned sites, tab groups, and a calmer browser layout.
- Split screen - two pages side by side with a draggable divider.
- Sleeping tabs - idle tabs can sleep to reduce memory usage.
- Reminders and notifications - reminders are stored locally, re-armed on launch, and shown through Breeze's overlay notification system.
- Auto-updates - packaged builds check GitHub Releases and update through
electron-updater.
- Apple Silicon Mac
- macOS 11 or newer
- Node 20+ for local development
npm install
npm startFor CDP debugging:
npx electron . --remote-debugging-port=9222npm run distThe app builds with electron-builder. Current macOS targets are arm64 .dmg and .zip.
- Bump
versioninpackage.json. - Add a new user-facing entry to
ui/updates.htmlin theRELEASESarray. - Commit and push.
- Publish the macOS build:
export GH_TOKEN=$(gh auth token)
npx electron-builder --mac --publish always- If the release is created as a draft, publish it so auto-update can see it:
gh release edit vX.Y.Z --repo Froydinger/breezebrowser-live --draft=false --latestInstalled copies update on launch, on the updater timer, or from Breeze → Check for Updates….
gh release view vX.Y.Z --repo Froydinger/breezebrowser-live --json isDraft,assets \
--jq '{draft:.isDraft, files:[.assets[].name]}'A working release should show draft:false and include latest-mac.yml, the macOS update zip, and the .dmg.
Current builds are self-signed with the local Breeze Signing certificate, not notarized with an Apple Developer ID. Users may need to right-click the app and choose Open the first time.
Do not replace or regenerate the signing certificate casually. Existing auto-updates depend on future releases being signed with the same certificate.
main.jsowns the main process, tabs, sessions, permissions, AI, updater, and app menu.preload.jsis the browser chrome bridge.page-preload.jsis injected into web pages.internal-preload.jssupports internalfile://pages.overlay-preload.jssupports the notification overlay.ui/contains the browser chrome, settings, password UI, updates page, and overlay UI.- AI web search is agentic. The model calls tools and the browser opens a real search tab.
- Page reading happens only when the model asks for it.
- Image generation has been removed.
- Web Push does not work in Electron because Chromium ships without Google's GCM/FCM keys. Local notifications and Breeze reminders do work.
| Action | Shortcut |
|---|---|
| Toggle sidebar | ⌘S / Ctrl+S |
| New tab | ⌘T |
| Close tab | ⌘W |
| Focus address bar | ⌘L |
| Back / Forward | ⌘[ / ⌘] |
| Reload / Hard reload | ⌘R / ⇧⌘R |
| Next / Previous tab | Ctrl+Tab / Ctrl+Shift+Tab |
| Jump to tab | ⌘1 to ⌘9 |
| Toggle dark mode | ⇧⌘D |
| Zoom | ⌘+ / ⌘- / ⌘0 |
| DevTools for current page | ⌥⌘I |