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.
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.0Append --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-windoworchid 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 (default900)--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 1800Headless 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 (defaultlight)--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 compatibilityHTML 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> # headlessUse 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 tolink-onlyon first publish--include-data— bundle DataFrame outputs (default), or pass--no-include-datato 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-runShell 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 # Linuxzsh
$ orchid completion zsh > "${fpath[1]}/_orchid"
$ compinitfish
$ orchid completion fish > ~/.config/fish/completions/orchid.fishRestart your shell after installing. Test it by typing orchid run and hitting Tab — you should see your .orchid files.
Exit codes
0— success1— a cell raised an exception duringorchid run2— invalid arguments or missing file3— authentication required (tryorchid login)4— network or upload error duringpublish130— interrupted (Ctrl-C)
Configuration options that apply to all commands live in Configuration.