Deep Links
Corral registers the corral:// URL scheme, so a link anywhere on your Mac — in your browser, a Finder window, your editor, Raycast, or a message in Slack, Notion, or email — can open a Corral surface or drive a project without you hunting for the app first.
It’s the same idea as mailto: or slack://: click a corral://… link (or run open 'corral://…' in a terminal) and Corral handles it on the machine it’s running on.
Prefer to skip the link entirely? Spotlight, Shortcuts & Siri drive the same project, service, and stack actions through macOS App Intents — type a project name into Spotlight, ask Siri, or build a Shortcut.
The links
| Link | What it does |
|---|---|
corral:// | Bring Corral to the front. |
corral://open?project=myapp | Open the myapp project’s page. |
corral://open?project=myapp&tab=logs | Open myapp with a specific tab active. |
corral://start?project=myapp | Start myapp. |
corral://stop?project=myapp | Stop myapp. |
corral://restart?project=myapp | Restart myapp. |
corral://share?project=myapp | Start a public tunnel for myapp. |
corral://service?id=postgres | Open the postgres service. |
corral://service/start?id=postgres | Start the postgres service. |
corral://open?stack=storefront | Open the storefront stack (Graph tab). |
corral://open?stack=storefront&tab=logs | Open storefront on a specific tab. |
corral://start?stack=storefront | Start the storefront stack. Pro. |
corral://stop?stack=storefront | Stop the storefront stack. Pro. |
corral://restart?stack=storefront | Restart the storefront stack. Pro. |
corral://settings | Open Settings. |
corral://settings/license | Open the Subscription page. |
corral://onboard | Open the first-run setup walkthrough. |
An unrecognized verb, or a link missing its project=, does nothing — no stray error window pops up.
Naming a project
project= accepts either the project name or its UUID:
- Name is friendly for links you write by hand or share with a teammate:
corral://open?project=myapp. Matching is exact and case-insensitive — Corral never fuzzy-matches a partial name onto a destructive action likestop. - UUID is stable across renames, and is what Corral uses for links it generates itself.
If two projects happen to share a name, Corral asks which one you meant rather than guessing.
stack= names a stack the same way — its name or UUID, matched exactly and case-insensitively. A stack has no working directory, so there’s no path= form for stacks.
Choosing a tab
corral://open and corral://service take an optional tab= token to land on a specific tab:
- Projects:
overview,dependencies,network,logs,failure-history,settings - Services:
overview,logs,failure-history,settings - Stacks:
graph,logs,failures,settings
For example, corral://open?project=myapp&tab=network jumps straight to the Browser & Network tab.
What happens when a link runs an action
Navigation links (open, service, settings, onboard) simply bring Corral forward on the right screen.
Action links (start, stop, restart, share, service/start) run in the background and confirm when they finish — “Started myapp”, “Stopped myapp”, and so on. Because a corral:// link comes from outside Corral — you’re in another app when you click it — Corral always tells you what it did:
- While Corral is in the background, the confirmation is a system notification.
- While Corral is in the foreground, it’s a small in-app banner.
A stop confirmation includes an Undo button that brings the project back — your safety net if a link stopped the wrong thing.
These confirmations are on by default. You can turn them off under Settings → Notifications → Actions (see Settings).
Is this safe?
Any app can put a corral:// link in front of you, so the model is simple: the click is the consent, exactly like clicking a link that opens any other app on your Mac.
- Action links only act on projects you already have — they can’t create or reconfigure anything.
- Destructive actions (
stop,restart) always confirm, and stop offers Undo. - Pro actions stay gated by your license no matter how they’re triggered.
Trying it from the terminal
Every corral:// link works with macOS’s built-in open command — handy for testing, or for wiring Corral into your own scripts and shortcuts:
open 'corral://open?project=myapp&tab=logs'
open 'corral://restart?project=myapp'
Quote the URL so your shell doesn’t treat ? and & as special characters.