Skip to content

Repository files navigation

Nook Logo

Nook

A fast, minimal browser with a sidebar-first design for macOS.

macOS 26.0+ Swift GPL-3.0 Open pull requests Open issues Contributors DeepWiki CodeRabbit Pull Request Reviews

Latest stable release Latest beta release

Download for macOS Download the beta

Status: Development started back up in September 2026 under a new maintainer. The next release is 1.1.0; see Releases for the current download.

Features

  • Sidebar-first navigation – vertical tabs that feel natural and uncluttered.
  • Performance – optimized with modern macOS APIs for speed and low memory use.
  • Minimal, modern UI – focused on content, not chrome.

Nook screenshot

Getting Started

Download

Download for macOS Download the beta

Betas are prereleases: they arrive first and one of them is promoted to the official release. The beta badge above always shows the newest one.

or, Build from Source

Prerequisites

  • macOS 26.0 (Tahoe) or later, Apple Silicon
  • Xcode 26 or later
git clone https://github.com/nook-browser/Nook.git
cd Nook
open Nook.xcodeproj

Nook builds for Apple Silicon only: the on-device tab organizer depends on MLX, which has no x86_64 slice. Xcode resolves the Swift packages on open.

You’ll need to set your personal Development Team in Signing to build locally.

Project Structure

Nook/
├── App/                       # Entry point, AppDelegate, window scene, menu commands
├── Packages/                  # Local Swift packages shared with the planned iOS port
│   ├── NookTabsCore/          # Tab tree model: spaces, items, ordering, on-disk store
│   ├── NookSettings/          # Settings service and every persisted value type
│   ├── NookDesign/            # Design tokens: radii, spacing, type, motion, surfaces
│   ├── NookBlocker/           # Content blocker: filter lists, adblock-rust conversion, cosmetic engine
│   ├── NookTweaks/            # Site tweaks: YouTube, Facebook, social downloads, SponsorBlock, routing
│   ├── NookWeb/               # Tabs controller, page sessions, windows, history, favicons, search
│   └── NookUI/                # Shared SwiftUI: rows, context menus, spaces list, toasts, settings tabs
├── Nook/
│   ├── Managers/              # Feature managers (macOS side)
│   │   ├── BrowserManager/    # Central coordinator; conforms to the package seams
│   │   ├── ExtensionManager/  # WKWebExtension support
│   │   ├── AIManager/         # AI chat providers, MCP client, browser tools
│   │   ├── DevMCPServer/      # Local MCP server for driving the app from a coding agent
│   │   ├── TabOrganizerManager/ # On-device LLM tab grouping (MLX)
│   │   ├── WebViewCoordinator/  # Web view pool for multi-window display
│   │   ├── DownloadManager/   # File downloads
│   │   ├── DialogManager/     # Modal dialogs
│   │   ├── PeekManager/       # Quick preview overlay
│   │   ├── SplitViewManager/  # Split-screen tab viewing
│   │   └── ...
│   ├── Models/                # macOS-only models and SwiftData entities
│   ├── Components/            # SwiftUI views: sidebar, website view, settings, drag and drop, dialogs
│   ├── Browser/               # macOS-only slice of the tab controller
│   ├── Utils/                 # WebKit helpers and utilities
│   └── ThirdParty/            # adblock-rust FFI crate and other embedded dependencies
├── CommandPalette/            # Command palette UI
├── Navigation/                # Sidebar structure: header, bottom bar, spaces list
├── Onboarding/                # First-run flow
├── Settings/                  # SwiftUI environment glue for the settings service
├── UI/                        # Shared buttons and controls
├── docs/                      # Architecture notes, design specs, implementation plans
├── scripts/                   # Filter list refresh, used in CI
└── assets/                    # Static assets

Architecture Overview

Nook follows a manager-based architecture where:

  • Managers handle business logic and coordinate between different parts of the app
  • Models represent data and state using Swift's @Observable macro
  • Components are SwiftUI views that reactively update based on model changes
  • BrowserManager acts as the central coordinator, connecting all managers together
  • Packages hold the model, blocker, tweak and shared view code that has no AppKit dependency, so it can be reused by an iOS app

Star History

Star History Chart

LICENSES

With the exception of third-party libraries in Nook/ThirdParty, all code is under the GPL 3.0 License. The relevant third-party code is licensed per-folder under a variety of free, open-source software licenses.

About

A new browser, not owned by Atlassian.

Resources

Code of conduct

Contributing

Stars

1.9k stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages