slides binary accepts the following flags. Flags take precedence over environment variables, which in turn take precedence over values saved in config.json.
Flag reference
| Flag | Short | Description | Default |
|---|---|---|---|
--port <n> | -p | Port to listen on | 3000 |
--data-dir <path> | -d | Directory containing slideshow JSON files | ./data/slideshows |
--api-key <key> | -k | Anthropic API key for AI assistant features | (none) |
--open | -o | Open the browser automatically after the server starts | false |
--init | Save current flags as defaults and attempt to install a launcher symlink | — | |
--install-path <path> | Custom directory for the launcher symlink (used with --init) | auto-detected | |
--version | Print the binary version and exit | — | |
--help | Print help text and exit | — |
—port
Sets the TCP port the server listens on. Valid values are1–65535.
—data-dir
Specifies the directory from which slideshow JSON files are loaded. The path is resolved to an absolute path at startup. When--data-dir is provided, the server uses that path exclusively — no fallback applies. If omitted, the server searches in order: data/slideshows/ adjacent to the binary, then data/slideshows/ in the current working directory.
Images referenced by slideshows should be placed in an
img/ subdirectory inside the data directory. They are served at /img/*.—api-key
Provides an Anthropic API key to enable the AI assistant. Without this flag (and without theANTHROPIC_API_KEY environment variable), the server starts normally but AI features will be unavailable.
—open
Opens the default browser tohttp://localhost:<port> immediately after the server starts. Uses open on macOS, xdg-open on Linux, and cmd /c start on Windows.
—init
Runs the one-time setup workflow:- Saves the current resolved flags (
--port,--data-dir,--api-key,--open) to~/.config/slides/config.json(or%APPDATA%\slides\config.jsonon Windows). - On macOS and Linux, attempts to install a symlink named
slidesinto a writable directory on yourPATH(/usr/local/bin,/opt/homebrew/bin, or~/.local/bin— tried in that order). On Windows, prints instructions to add the extracted folder toPATHmanually.
slides directly from any directory without specifying the full path.
--init with the new values or edit the config file directly. See Configuration for the config file format.
--init exits immediately after completing setup — it does not start the server.—install-path
Overrides the directory used when--init installs the launcher symlink. Has no effect if --init is not also provided.
Usage examples
Flag precedence
When the same setting is configured in multiple places, the order of precedence from highest to lowest is:- CLI flags passed at invocation time
- Environment variables (
PORT,DATA_DIR,ANTHROPIC_API_KEY) - Saved config (
~/.config/slides/config.json) - Built-in defaults (port
3000,./data/slideshows)