OpenMail

Build from source

Build the OpenMail app and the openmail command on your Mac.

OpenMail has no published release yet. To use it, build it from the source on GitHub.

Prerequisites

  • macOS 13 or later, on Apple silicon or Intel. Semantic search needs Apple silicon.
  • OpenMail needs Node 24, the version in .nvmrc. Node 22 prints a node:sqlite warning on every CLI call, and Node 25 and later no longer ship corepack.
  • pnpm through corepack. Run corepack enable once. The repository pins the pnpm version.
  • Xcode Command Line Tools: xcode-select --install. The build compiles the app's Swift helpers.
  • Xcode 26 is optional. With it, dist compiles the Icon Composer icon, so macOS 26 shows the Liquid Glass icon with its dark and tinted appearances. Without it, dist packages the committed build/icon.icns, a static render of the same icon that every macOS version shows unchanged. Xcode 26 needs macOS 15.6 or later.

Build the app

git clone https://github.com/Fanzzzd/openmail.git
cd openmail
pnpm install
pnpm --filter @openmail/desktop dist

The last command builds the mail core, the CLI and the desktop app, then packages the app. It writes a DMG and a ZIP for arm64 and for x64 to apps/desktop/release/, and downloads a second Electron build for the architecture your Mac does not run. It never publishes anything.

Run the app

  1. Open apps/desktop/release/OpenMail-<version>-mac-<arch>.dmg. Use arm64 on Apple silicon and x64 on Intel. The x64 build has no semantic search, because ONNX Runtime 1.30.0 has no macOS x64 binding.
  2. Drag OpenMail to Applications.
  3. Open OpenMail. A build you make yourself opens normally, because only downloaded files carry the quarantine flag that Gatekeeper checks. Gatekeeper blocks a downloaded build that is not notarized on first open. Open it once, then go to System Settings → Privacy & Security and click Open Anyway.
  4. Add an account. A source build has no built-in Google or Microsoft sign-in client. Register your own as in Using your own OAuth client. IMAP accounts need only an app password.

Run the CLI and MCP server

dist and pnpm build both build the CLI. Run it from the repository:

node packages/cli/dist/cli.js accounts list
node packages/cli/dist/cli.js mcp

To type openmail from any directory, link the command with pnpm --dir packages/cli link --global. See CLI and MCP for the commands and the MCP setup.

Develop OpenMail

To run the app in development mode with a separate data folder, and to run the tests, follow CONTRIBUTING.md.

On this page