~/docs/essentials/configuration
╭─ § 02.05 ─╮

Configuration

└───────────╯

Corral stores its settings in ~/.corral/config.json. You can view and change them from the CLI or the macOS app.

App Settings

SettingKeyDefaultDescription
TLDtldtestTop-level domain for local routing
Auto-startauto-startfalseStart infrastructure and flagged projects on launch
Default Node versiondefault-node-version(none)Fallback Node.js version when no project-specific version is set
Port range startport-range-start8787First port in the allocation pool (100 ports)
Default package managerdefault-package-manager(none)Preferred package manager when no lockfile is present (npm, yarn, pnpm, bun)
Preferred browserpreferred-browser(system default)Browser bundle ID for opening local dev URLs (e.g. com.google.Chrome)
Preferred editor(macOS app)(chooser)Editor bundle ID for Open in Editor; set in the macOS app, not via corral settings set
Preferred terminal(macOS app)(Terminal.app)Terminal bundle ID for Open in Terminal; set in the macOS app, not via corral settings set
Log font sizeui.logs.font_size11Monospaced font size in the log viewer
Log word wrapui.logs.word_wraptrueWhether long log lines wrap in the log viewer

Viewing Settings

corral settings show

Changing Settings

corral settings set tld localhost
corral settings set auto-start true
corral settings set default-node-version 22
corral settings set port-range-start 9000
corral settings set default-package-manager pnpm
corral settings set preferred-browser com.google.Chrome

Clear optional settings with none:

corral settings set default-node-version none
corral settings set preferred-browser none

Boolean values accept: true/false, yes/no, 1/0, on/off.

In the macOS app, settings are available under the Settings panel in the sidebar. See macOS App Settings for details.

A few preferences are managed only in the macOS app (and config.json), not via corral settings set — notably Corporate proxy support (Settings → Network & Security), which controls automatic corporate-CA detection for Node tooling behind a TLS-intercepting proxy. See Node.js Management → Corporate proxies.

Data Directory

All Corral data lives in ~/.corral/:

PathContents
config.jsonApp-wide settings
projects.jsonRegistered projects and their settings
corral.sockDaemon Unix socket (JSON-RPC 2.0)
daemon.pidDaemon process ID
daemon.logDaemon operational log
node/v{version}/Installed Node.js versions
wrangler/v{version}/Vendored Wrangler installations
caddy/Caddy configuration and certificate files
dnsmasq/dnsmasq configuration files
services/Installed service binaries, data, and registry. Layout is <service>/<version>/ so that concurrent major versions (e.g. Postgres 16 and 17) stay isolated — see Services → Data Directory for the full tree.
logs/Persisted log files (per project)
bin/Shell shims for node, npm, npx, cpm

Environment Variables

CORRAL_DATA_DIR

Override the data directory location:

export CORRAL_DATA_DIR=/path/to/custom/dir
corral status

Or pass it per command:

corral --data-dir /path/to/custom/dir status

This affects where Corral reads and writes all data — settings, projects, Node.js installations, logs, and infrastructure configuration.

NODE_EXTRA_CA_CERTS

Set automatically by Corral for the Node processes it spawns when corporate-CA detection finds corporate roots, so Node tooling works behind a TLS-intercepting proxy. You normally never set this by hand — but if you already export it yourself, Corral folds your certificates in rather than overriding them.

CORRAL_REPORTS_ENDPOINT

Advanced override for the bug report submission endpoint (for staging or end-to-end testing). Defaults to https://api.corral.sh/v1/reports.

// Last updated 2026-07-11