Skip to content

Installation

System Requirements

  • macOS on Apple Silicon (arm64) or Intel (x64)
  • A Cloudflare Workers or Pages project with a wrangler.toml or wrangler.json

Corral bundles its own Wrangler and can manage Node.js for you — no global installs of either are required.

Installing

Download the macOS App

Download Corral.dmg and drag it to your Applications folder. The app includes the CLI and will set it up automatically on first launch.

Install Script

CLI only:

sh
curl -fsSL https://pub-9395b27a167942ca9fa9ac795d0d1ac2.r2.dev/releases/install.sh | sh

CLI + macOS app:

sh
curl -fsSL https://pub-9395b27a167942ca9fa9ac795d0d1ac2.r2.dev/releases/install.sh | sh -s -- --app

Installing the App After the CLI

If you already have the CLI, you can install the macOS app from the terminal:

sh
corral install app

This downloads Corral.app to /Applications and repoints the CLI symlink to the app-bundled binary.

The Privileged Helper

Corral needs elevated privileges to:

  • Write the DNS resolver file to /etc/resolver/
  • Run dnsmasq for local DNS resolution
  • Run Caddy on ports 80 and 443 for HTTPS

On first launch, the app shows a setup wizard prompting you to approve the helper installation through a standard macOS authorization dialog. You can skip this step and install it later from Settings, but domain routing won't work until the helper is installed.

TIP

The helper runs only when Corral's infrastructure is active. You can uninstall it at any time from the app's Settings.

CLI Availability

When the macOS app launches from /Applications, it automatically creates a symlink at /usr/local/bin/corral pointing to the CLI binary inside the app bundle. If /usr/local/bin isn't writable, it falls back to ~/.corral/bin/corral.

You can check the CLI status in the app under Settings → General.

Verifying Your Installation

sh
corral status

You should see the infrastructure state (DNS and proxy) and an empty project list. If the privileged helper is installed, you can start infrastructure:

sh
corral up

Updating

Self-update the CLI:

sh
corral update

Check for updates without installing:

sh
corral update --check

TIP

If your CLI is part of the macOS app bundle, corral update will tell you to update the app instead — the CLI and app should stay in sync.

Data Directory

Corral stores all its data in ~/.corral/. This includes project registrations, settings, installed Node.js versions, logs, and infrastructure configuration. You can override this location with the CORRAL_DATA_DIR environment variable.

See Configuration for the full directory layout.

Uninstalling

The fastest way to remove Corral completely:

sh
corral uninstall

This removes the CA certificate, kills orphaned processes, removes the DNS resolver file, uninstalls the privileged helper, deletes ~/.corral/, clears app preferences, removes shell shims, and removes the CLI symlink. You'll be prompted for confirmation first.

See corral uninstall for details.

Manual uninstall (if the CLI isn't available):

  1. Quit Corral from the menu bar
  2. Uninstall the privileged helper from Settings
  3. Remove the app from Applications
  4. Delete ~/.corral/ to remove all data
  5. Remove /usr/local/bin/corral if it exists