Command line.

The orchid binary ships with the desktop app. Use it to open files from your terminal, run notebooks headlessly, export, sign in, and publish.

Coming soon

This tool is on the v1.1 roadmap. The setup steps below are the planned flow.

Install the CLI

On macOS, Homebrew adds orchid to your PATH automatically. For drag-and-drop installs, open Orchid once and run Orchid: Install CLI from the command palette — it symlinks the binary into /usr/local/bin.

On Linux, the AppImage exposes orchid if you symlink it yourself:

$ sudo ln -s /opt/orchid/Orchid-*.AppImage /usr/local/bin/orchid
$ orchid --version
orchid 1.0.0
Debug flag

Append --debug to any command to print verbose logs to stderr and tee them to ~/.config/orchid/logs/cli.log. See Troubleshooting when something misbehaves.

orchid open

Open a project, notebook, or directory in the Orchid desktop app.

$ orchid open <path> [flags]

Flags

  • --new-window — open in a new desktop window even if Orchid is already running
  • --wait — block until the window closes (useful in scripts and editors)
  • --profile <name> — open with a non-default user profile

Examples

$ orchid open ~/work/revenue-review        # open a project directory
$ orchid open report.orchid                # open a single notebook
$ orchid open .                            # open the current directory
$ orchid open report.orchid --new-window

orchid run

Execute a notebook end-to-end with no UI. Each cell runs in order, output is serialized back into the file, and the exit code reflects whether any cell errored.

$ orchid run <notebook> [flags]

Flags

  • --profile <name> — use connection profiles from a specific user profile
  • --param key=value — set a parameter cell value (repeatable)
  • --timeout <seconds> — abort if a single cell runs longer than this (default 900)
  • --no-save — execute in memory only, do not write outputs back
  • --json — emit a JSON summary on stdout (cell ids, durations, errors)

Examples

$ orchid run revenue.orchid
$ orchid run revenue.orchid --param month=2026-04 --param region=EU
$ orchid run revenue.orchid --json > result.json
$ orchid run reports/*.orchid --timeout 1800

Headless runs are how Orchid schedules refreshes — the in-app Schedule button just registers a cron-like job that shells out to orchid run.

orchid export

Render a notebook to a standalone artifact for sharing outside Orchid.

$ orchid export <notebook> --to <format> [flags]

Flags

  • --to html | pdf | md | ipynb — required, output format
  • --out <path> — output file (defaults to the notebook's basename)
  • --hide-source — strip cell source, keep outputs only
  • --theme light | dark — output theme (default light)
  • --inline-assets — base64-embed images and fonts into the HTML

Examples

$ orchid export revenue.orchid --to html
$ orchid export revenue.orchid --to pdf --out 2026-04-revenue.pdf
$ orchid export revenue.orchid --to html --hide-source --inline-assets
$ orchid export revenue.orchid --to ipynb        # for Jupyter compatibility

HTML exports are self-contained pages. PDF goes through a headless Chromium pass, so Plotly charts render as you see them in the app.

orchid login

Sign in to your Orchid account. Required for publishing, premium model credits, and team access. Opens a browser tab for the OAuth flow.

$ orchid login [flags]

Flags

  • --token <value> — paste a personal token instead of opening a browser (useful for remote shells and CI)
  • --profile <name> — sign in for a specific user profile

Examples

$ orchid login
Opening https://orchidide.com/cli-auth in your browser
Signed in as you@example.com.

$ orchid login --token <your-token>          # headless

Use orchid logout to clear the local credential, and orchid whoami to print the active account.

orchid publish

Publish a project to the cloud, making it canonical and (optionally) shareable at <slug>.orchidide.com. See the publishing guide for the full model.

$ orchid publish <project> [flags]

Flags

  • --slug <name> — set or change the public slug (e.g. q1-revenue)
  • --visibility public | link-only | team — defaults to link-only on first publish
  • --include-data — bundle DataFrame outputs (default), or pass --no-include-data to publish source only
  • --message "..." — short description of the change (shows in version history)
  • --dry-run — show what would be published without uploading

Examples

$ orchid publish ~/work/q1-revenue
Publishing as q1-revenue.orchidide.com
Done. https://q1-revenue.orchidide.com

$ orchid publish . --slug q1-revenue --visibility public --message "April finals"
$ orchid publish . --dry-run

Shell completion

Install completion for your shell once and you'll get suggestions for subcommands, flags, project paths, and notebook filenames.

bash

$ orchid completion bash > /usr/local/etc/bash_completion.d/orchid     # macOS Homebrew
$ orchid completion bash | sudo tee /etc/bash_completion.d/orchid     # Linux

zsh

$ orchid completion zsh > "${fpath[1]}/_orchid"
$ compinit

fish

$ orchid completion fish > ~/.config/fish/completions/orchid.fish

Restart your shell after installing. Test it by typing orchid run and hitting Tab — you should see your .orchid files.

Exit codes

  • 0 — success
  • 1 — a cell raised an exception during orchid run
  • 2 — invalid arguments or missing file
  • 3 — authentication required (try orchid login)
  • 4 — network or upload error during publish
  • 130 — interrupted (Ctrl-C)
The terminal output of orchid --help, showing subcommands and flags./docs-images/reference/cli-help.png
orchid --help prints the same flag list as this page.

Configuration options that apply to all commands live in Configuration.