URL Scheme

Updated April 28, 2026

crystl registers the crystl:// URL scheme so other apps, scripts, and web links can open projects directly, no GUI required.

Open a local project

crystl:///absolute/path/to/project

Examples:

open "crystl:///Users/chris/Projects/myapp"
open "crystl:///Users/chris/Nextcloud/crystl"

If the path exists and is a directory, crystl opens it as a new gem and brings the window to the front. If crystl isn’t running, it launches first.

Open an SSH session

crystl://ssh/user@host/remote/path

Examples:

open "crystl://ssh/[email protected]/var/www"
open "crystl://ssh/[email protected]/opt/app"

crystl creates a new gem, connects to the host via ssh user@host, waits for the connection, then cds to the remote path. The gem is titled with the hostname.

The remote path is optional. Omit it to land in the default SSH home directory:

open "crystl://ssh/[email protected]"

Snackbar

Snackbar is a Chrome sidebar extension for organizing projects: workspaces, saved links, notes, and tasks, all in a sliding panel that stays accessible without leaving your current tab.

The crystl:// URL scheme was originally added for Snackbar: save a crystl:///path/to/project link in a workspace and clicking it opens that project in crystl directly from the browser. For remote work, save a crystl://ssh/user@host/path link to jump straight into a server session.

Snackbar has built-in crystl support, so there’s no URL construction needed. When adding a link, choose App → crystl, then pick Local or SSH and fill in the path or host.

Setup:

  1. Install Snackbar from the Chrome Web Store
  2. Open a workspace and click Add Link → App
  3. Select crystl from the app dropdown
  4. Choose Local (enter a project path) or SSH (enter host and remote path)
  5. Click the link, and macOS will ask once to confirm opening crystl, then open the gem directly

Other use cases

  • Raycast / Alfred: bookmark frequently used projects or servers as URL actions
  • Scripts and CI: open a project from a shell script without knowing if crystl is already running
  • Browser bookmarks: link to a project from internal docs or a dashboard
  • Other apps: deep-link into crystl from a project manager, IDE, or deployment tool

Security

Both URL actions are safe by design:

  • Local open: crystl checks the path exists and is a directory before doing anything. Non-existent paths are silently ignored.
  • SSH open: the only commands sent to the terminal are ssh user@host and cd /path, both shell-escaped. A crafted URL cannot inject arbitrary commands.

macOS shows a confirmation prompt the first time a foreign app fires a crystl:// URL, so users see what’s being opened before it happens.