StacksPRO
A stack is a runnable composition of projects, services, and other stacks. Instead of starting your API, its database, its auth worker, and your frontend one at a time, you group them once and bring the whole environment up — in dependency order — with a single command, click, or Shortcut.
A stack runs no process of its own. It’s a lightweight unit that orchestrates its members: starting a stack starts its members (and their dependencies); stopping it releases them.
Two kinds of stack
Manual
You choose the members. Create a stack, seed it, then add or remove members whenever you like.
corral stack create storefront --member web --member api
corral stack add storefront auth
corral stack rm storefront web
Cloudflare-derived
For Cloudflare Workers, Corral builds stacks automatically. It reads each worker’s wrangler config, finds the workers that call each other — service bindings, queue producer/consumer pairs — and groups each cluster into a derived stack. New clusters are detected as you register projects; you don’t create these by hand.
A derived stack stays in sync with your config. Change a wrangler binding and the stack’s membership and wiring are re-derived; if the on-disk config has drifted from the stack, Corral shows a divergence banner with a one-click Re-sync.
To hand-edit a derived stack, eject it into a manual copy first (see below).
Starting and stopping
corral stack start storefront # bring every member up, in dependency order
corral stack stop storefront # release the stack's members
corral stack restart storefront
In the macOS app, select the stack in the STACKS section of the sidebar and use the toolbar Start / Stop / Restart controls, or the Play button on the stack’s row.
Members are ref-counted. If two running stacks share a member — say both storefront and admin depend on postgres — stopping one stack won’t pull the shared member out from under the other. The member stops only when the last stack using it releases it. When stopping a stack would affect another running stack, Corral asks first.
Seeing how a stack fits together
corral stack list # every stack: status, origin, member count
corral stack status storefront # dependency tree, members, wiring, drift
In the app, a stack’s detail view opens on a Graph tab — a dependency diagram of the members and the wiring between them, each node showing its live status. The Members list, a New Stack sheet, membership editing, and (for derived stacks) the re-sync / eject controls live here too.
Re-sync and Eject
corral stack resync storefront # re-derive a Cloudflare stack from current wrangler config
corral stack eject storefront # fork a derived stack into an editable manual copy
Re-sync pulls a Cloudflare-derived stack back in line with its workers’ current wrangler config. Eject forks a derived stack into a manual one you can edit freely, leaving the original intact — the way to take manual control of membership that otherwise comes from config.
Deleting and renaming
corral stack rename storefront shop
corral stack delete storefront # the stack is removed; its members are preserved
Deleting a stack never deletes its members — they go back to being ordinary standalone projects and services.
Beyond the CLI and app
Stacks are reachable wherever Corral is:
- AI tools (MCP) — agents can
stack_listandstack_info(free) andstack_start/stack_stop(Pro). See AI Tools (MCP). - Spotlight, Shortcuts & Siri — open or list stacks for free; start / stop / restart in a Shortcut or by asking Siri (“Start a Corral stack”). See Spotlight, Shortcuts & Siri.
- Deep links —
corral://start?stack=storefrontand friends. See Deep Links.
Free vs Pro
| Capability | Free | Pro |
|---|---|---|
| List stacks, inspect members & wiring | ✓ | ✓ |
| Open a stack, view its graph | ✓ | ✓ |
| Create, add / remove members, rename, delete | ✓ | |
| Start / stop / restart | ✓ | |
| Re-sync / eject a Cloudflare-derived stack | ✓ |
The daemon enforces this split — the same gate behind every surface (CLI, app, MCP, Shortcuts, deep links), so the boundary is identical no matter how you reach it. On the free tier, a Pro action returns a clean “Corral Pro required” prompt instead of failing cryptically.