Millie
Free Mac browser on Chromium 158 with Spaces, Profiles, a hover sidebar, Peek, Boosts and Air Traffic Control.
Millie is a free browser for Apple silicon Macs from Red Clay AI, Inc. (GitHub redclayai; commits by DannyB764 and danbaute). It runs vanilla Chromium 158 inside a native SwiftUI chrome. The repo holds that chrome (Swift and Objective-C++) and the Chromium patches but no license file. A left or right sidebar hides and slides back in when you hover the window edge. It has Spaces switched by swipe or ⌃1–9, Profiles that Spaces can share, per-Space pinned tiles and folders, Tidy Tabs, Live folders from RSS or GitHub PRs and issues, 24-hour auto-archive, gradient themes, two-pane Split View, Peek, hover Previews of pinned sites, a ⌘T palette, per-site Boosts with zap, Air Traffic Control host rules, Ctrl+Tab recent-tab switching, clean link copy, region and full-page screenshots, opt-in DevTools on localhost, Web Panels, a built-in host-list ad blocker, Chrome Web Store extensions and optional email-code sync. An AI assistant is on by default and needs a local Codex CLI or your own key; an opt-in local MCP server lets Claude Code or Codex drive the browser. It has no global Favorites, shortcut editor or mini window, and Arc import skips Spaces. The build is Developer ID signed and notarized, arm64 only, macOS 13 minimum. The latest release is 2.91 (2026-11-12), which only fixes Peek popups opened from a different Space. This entry rests on the latest commit (the 2.91 tag) and the 2.91 DMG; the app was not run.
AI on by default
Sidebar assistant on by default, using a local Codex CLI or your own Claude, GPT or Gemini key; an opt-in MCP server lets your agents drive it.
github.comNone found
No ads, wallet, feed, upsell, account or maker analytics. Sync is opt-in; Safe Browsing is a bundled offline blocklist (threatlist.bin), no lookups.
github.comAds, crypto, paid upsells, news feeds, default-on telemetry, required accounts.
Organization
| Feature | Millie | Arc | Note |
|---|---|---|---|
| SidebarVertical sidebarTabs live in a vertical sidebar that is the main tab UI and can be hidden. | ✓ | ✓ | Left or right tab sidebar; ⌘S or ⌃S hides it and hovering the window edge slides it back in as an overlay.github.com |
| SpacesSeveral workspaces per window, each with its own pinned and open tabs, switched by swipe or shortcut. | ✓ | ✓ | Spaces with an icon, own tabs, pinned tiles and folders; switch by two-finger swipe over the sidebar, ⌃1–9 or ⌃⇧[ ].github.com |
| ProfilesProfiles per Space (shareable)Each Space can use its own browser profile (separate cookies, logins, history), and one profile can be shared by several Spaces. | ✓ | ✓ | Each Space can use its own isolated Profile (cookies, logins, history, extensions); several Spaces can share one.github.com |
| FavoritesGlobal favoritesPinned icons at the top of the sidebar shared by every Space (Zen calls them Essentials). | ◐ | ✓ | Pinned tabs show as an icon grid at the top, but each Space keeps its own list; nothing is shared across Spaces.github.com |
| Pinned TabsPinned tabs & foldersPer-space pinned tabs that act like bookmarks, with nested folders. | ◐ | ✓ | Per-Space pinned tiles and flat folders; pinning a tab pulls it out of its folder, and folders cannot nest.github.com |
| Live foldersSidebar folders that fill and refresh themselves from an outside source, such as GitHub pull requests or an RSS feed. | ✓ | ✓ | 'Add Live Folder…' fills a folder from an RSS/Atom feed or a public GitHub repo's open pull requests or issues, refreshed every 15 minutes or by hand; no GitHub login, so no private repos.github.com |
| ArchiveAuto-archive tabsUnpinned tabs close automatically after a set time and stay recoverable in an archive. | ✓ | ✓ | Idle tabs close after 24 hours (setting, 0 = off) into a restorable Archive; pinned and private-Space tabs are skipped.github.com |
| Theme pickerSpace themesPer-space colour or gradient themes. | ◐ | ✓ | Gradient picker with up to three colours, but the theme belongs to the Profile, so Spaces on one Profile share it.github.com |
Browsing
| Feature | Millie | Arc | Note |
|---|---|---|---|
| Split ViewTwo or more tabs side by side in one window. | ◐ | ✓ | Two tabs side by side (drag onto the page, ⌃⇧=, or Peek's split button); the store keeps one split partner, so no 3+ panes.github.com |
| PeekLink previewOpen a link in an overlay without leaving the current page (Zen calls it Glance). | ✓ | ✓ | Peek overlay from the link menu or from a pinned tab's new-tab links; promote it to a tab (⌘↩) or a split, Esc closes.github.com |
| Little ArcMini windowA small, chrome-less window for links opened from other apps or a quick search. | ✕ | ✓ | Links from other apps open as a new tab in the main window; there is no separate mini window.github.com |
| Command barA ⌘T palette that searches tabs, history, bookmarks and browser commands. | ✓ | ✓ | ⌘T opens a palette that searches open tabs, history and the web and runs commands (New Split, Capture, Boost, switch Space).github.com |
| Air Traffic ControlLink routingRules that send links from other apps to a chosen space or profile. | ✓ | ✓ | Settings > Routing: host rules move a tab into a chosen Space once it loads; links from other apps open in the active Space first.github.com |
| BoostsSite customizationPer-site custom CSS/JS, or zapping elements off a page. | ✓ | ✓ | Per-site CSS and JS Boosts plus click-to-zap element hiding, saved per host; also reachable from the ⌘T palette.github.com |
| Auto PiPAuto picture-in-picturePlaying video pops out into picture-in-picture automatically when you switch tabs. | ✓ | ✓ | On by default: Settings > Media pops a playing video into picture-in-picture when you switch tabs.github.com |
| Mini playerMedia still playing in a tab you left keeps play/pause controls in the sidebar. | ✓ | ✓ | A sidebar strip for the playing tab shows title, artist, play/pause, ±10 s skip and a picture-in-picture button.github.com |
| Tab SwitcherRecent-tab switcherCtrl+Tab jumps back to the tab you used last and cycles in recently used order. | ✓ | ✓ | Ctrl+Tab walks tabs in most-recently-used order by default with a preview HUD; a setting switches to sidebar order.github.com |
| Super CopyClean link copyA shortcut (⌘⇧C) copies the page URL with tracking parameters removed. | ✓ | ✓ | ⇧⌘C copies the page address with a toast ('Clean link copied') minus utm_*, gclid, fbclid and similar parameters plus YouTube, Spotify and X share tokens; on by default (Settings > Privacy).github.com |
| CaptureScreenshotsBuilt-in capture of a chosen area or element, and of the full page. | ✓ | ✓ | Region, visible-tab and full-page (scroll-and-stitch) capture, with a share-sheet button; all in the ⌘T palette.github.com |
Compatibility & migration
| Feature | Millie | Arc | Note |
|---|---|---|---|
| Arc importImports Arc spaces, pinned tabs and folders. | ◐ | – | Import reads Arc's Chromium profile (bookmarks, history, passwords, cookies) but not Arc's Spaces or pinned tabs.github.com |
| Chrome extensionsInstalls extensions from the Chrome Web Store. | ✓ | ✓ | 'Add to Millie' downloads the CRX from Google's update service into Chromium 158's extension runtime.github.com |
| DRM streamingNetflix, Disney+, Spotify web and other DRM video/audio play, through Widevine or, on WebKit, FairPlay. Chromium forks need a Google Widevine licence; FairPlay counts once a major service is confirmed playing in the app. | ? | ✓ | No Widevine CDM or WidevineCdm.zip in the 2.91 bundle; the Widevine component installer is built in, but playback was not tested. |
| PasskeysWebAuthn passkeys, Touch ID and the system/iCloud keychain. | ◐ | ✓ | Signed app has no browser-passkey or keychain-group entitlement, so no iCloud Keychain/Touch ID passkeys; phone or key paths untested.github.com |
| SyncSpaces, pinned tabs and settings sync across devices. | ✓ | ✓ | Optional email-code account syncs Spaces, tabs, folders, bookmarks, history and settings; one Primary Mac pushes tabs, others follow.github.com |
| Mobile appiPhone, iPad or Android app that shares spaces with desktop. | ? | ◐ | Sync targets a 'Milly' iOS app, but no public iOS or Android app from Red Clay AI was found. |
Extras
| Feature | Millie | Arc | Note |
|---|---|---|---|
| Built-in ad blockerAd and tracker blocking without installing an extension. | ✓ | ✓ | On by default: a local host blocklist (Block List Project, Peter Lowe) cancels ad requests, with a per-site allowlist.github.com |
| Custom ShortcutsShortcut editorMost browser keyboard shortcuts can be remapped in Settings. | ✕ | ✓ | Settings has no shortcut editor; Keyboard shortcuts only opens a read-only cheat sheet (⌘/).github.com |
More Arc features
Arc features shown but not counted in the score, because almost no replacement has them or only a few people need them.
| Feature | Millie | Arc | Note |
|---|---|---|---|
| EaselsA shareable canvas of live page captures, notes and drawings. | ✕ | ◐ | No canvas or board feature in the source or README.github.com |
| Shared CollectionsShared spaces & foldersShare a Space, folder or set of tabs as a link anyone can open, or another user can add to their sidebar. | ✕ | ✓ | Share Page sends one URL through the macOS share sheet; no way to share a Space or folder was found.github.com |
| PreviewsWeb app previewsHover a pinned Gmail, Calendar or other web app to glance at it; a pinned calendar shows the next meeting with Join. | ✓ | ✓ | Hovering a pinned tile for 0.65 s opens a popover with the live page loaded in that tab's Profile (Settings > Appearance, on by default); no unread badges or next-meeting Join.github.com |
| Developer modeA developer view that turns on by itself for localhost: full URL, quick DevTools and dev tools in reach. | ◐ | ✓ | Settings > General can open DevTools on its own when a tab loads localhost, 127.0.0.1, .localhost or .test (off by default); no full-URL developer view or toolbar.github.com |
Extension support
Which extension formats and stores run, beyond the Chrome Web Store row above.
| Feature | Millie | Arc | Note |
|---|---|---|---|
| Manifest V2 extensionsThe older extension format Chrome removed in 2025. Needed for full uBlock Origin and other extensions that block requests. | ✕ | ✕ | Chromium 158 disables MV2 extensions with no switch, and Millie sets none.chromium.googlesource.com |
| Manifest V3 extensionsThe current extension format used by the Chrome Web Store (and supported by Firefox and Safari). | ✓ | ✓ | MV3 extensions from the Chrome Web Store run on Chromium 158; the README names 1Password and uBlock Origin.github.com |
| Firefox add-onsAdd-ons from addons.mozilla.org or .xpi files install and run. | ✕ | ✕ | Only Chrome Web Store installs are wired; Chromium accepts Chrome-format .crx downloads, not Firefox .xpi files.chromium.googlesource.com |
| Safari extensionsSafari web extensions (the App Store extension apps Safari uses) install and run. | ✕ | ✕ | Chromium build; Safari web extensions are app extensions that only Safari loads.developer.apple.com |