Menu Bar
Quick glance, quick controls, and status at a glance without leaving your current task.
Start projects from a native macOS utility or the corral CLI, get stable .test domains with HTTPS, use the right Node version automatically, and keep your app and terminal perfectly in sync.
Install via terminal
Most local JavaScript and TypeScript setups are stitched together from localhost ports, Node managers, proxy config, and terminal tabs. Corral turns that pile of setup into one native workflow.
Corral is built like a native utility. You can glance at it from the menu bar, manage it from the main window, or drive it entirely from the terminal without losing shared state.
Quick glance, quick controls, and status at a glance without leaving your current task.
Logs, Node versions, project settings, and data browsers live in one place when you need to actually work.
The corral CLI talks to the same daemon, so the terminal and app always agree about what is running.
Corral does more than launch processes. It handles the routing, runtime, and coordination work that usually leaks into your shell history.
Give each project a stable local address and let Corral handle DNS, HTTPS, and route updates as processes start and stop.
Corral detects supported frameworks and launches the right dev command with less manual wiring.
Use project settings, .node-version, or .nvmrc and let Corral resolve the right runtime.
Start in the app, inspect in the CLI, and keep one source of truth for process state.
Cloudflare projects go further with D1, KV, and R2 inspection built into the native interface.
Corral coordinates the entire local path from custom domain to running process. It is not just a launcher; it owns detection, routing, runtime resolution, and shared process state.
No. Corral started with first-class Cloudflare support, but the product now targets JavaScript and TypeScript local development more broadly. Cloudflare remains the deepest supported path, but it also detects and manages modern framework projects.
Stable local domains are easier to remember, share across multiple projects, and reason about than a pile of changing localhost ports. Corral also layers HTTPS, routing, and project state management on top of that so the workflow feels more production-like.
Some infrastructure setup does. On macOS, Corral needs privileged operations for local DNS routing and binding ports 80 and 443, and the app handles that through its helper flow instead of asking you to wire it manually.
Yes. Both interfaces talk to the same background daemon, which means they share running state, project status, and infrastructure status. Start something in one place and it appears in the other immediately.
Yes. Corral can install Node.js versions on demand and resolve the right one for each project using project settings, .node-version, .nvmrc, or a global default.
Get up and running in under a minute. Register a project, start Corral, and open it on a custom local domain with automatic HTTPS.
Native macOS app. Shared CLI. Automatic local domains.