Skip to main content
You can build Nook from source to test the latest features, contribute to development, or customize the browser for your needs.

Prerequisites

Nook requires macOS 15.5 or later and Xcode to build from source.
Before you begin, ensure you have:
  • macOS 15.5+: Nook uses modern macOS APIs that require at least macOS 15.5 (Tahoe)
  • Xcode: Download from the Mac App Store

Clone the repository

1

Clone Nook

git clone https://github.com/nook-browser/Nook.git
cd Nook
2

Open the project

open Nook.xcodeproj
No Swift Package Manager setup is needed. All dependencies are embedded locally in Nook/ThirdParty/ — no swift package resolve required.

Set up code signing

You must set your personal Development Team in Xcode Signing settings to build locally.
1

Select the Nook target

In Xcode, select the “Nook” target in the project navigator.
2

Go to Signing & Capabilities

Click on the “Signing & Capabilities” tab.
3

Select your team

Under “Team”, select your personal Apple Developer account or team.

Build commands

Debug build

For development and testing:
# Build and run in Xcode
# Press Cmd + R

Release build

For production use with universal binary support:
xcodebuild -scheme Nook -configuration Release -arch arm64 -arch x86_64 -derivedDataPath build
Release builds create a universal binary that supports both Apple Silicon (arm64) and Intel (x86_64) Macs.

Platform compatibility

Intel Macs

Some Objective-C libraries may not play nice with Intel Macs, though there should technically be full interoperability. You can use any number of resources to debug if you encounter issues.

Older macOS versions

For macOS versions older than Tahoe (26.0), you may need to delete a couple lines of code that use APIs only available in newer versions. Look for @available annotations in the codebase.

Next steps

Once you’ve successfully built Nook, you can:
  • Set up your development environment for contributing
  • Run the test suite to verify your build
  • Start exploring the codebase
Join our Discord to connect with other developers and get help with development.

Build docs developers (and LLMs) love