Skip to content

CLI

specola-core is the Core process. The desktop app starts it for you; you run it yourself to validate a profile, on a headless machine, or as a systemd service.

bash
specola-core -t --config my.toml     # validate and exit
specola-core --config my.toml        # run

Options

OptionMeaning
--config <file>profile to load: an absolute path, or a file name looked up in the profiles directory and then next to the executable
-t, --test-configload and validate --config, print the result and exit without starting Core
--data-dir <dir>portable mode: keep profiles, cache, logs and runtime files under <dir> instead of the per-user directories
--ipc-endpoint <path>local control socket (Unix socket or named pipe) to listen on
--parent-pid <pid>exit when that process exits; used by the desktop app

Profiles directories: ~/.config/specola/profiles/ on Linux, ~/Library/Application Support/com.specola.Specola/profiles/ on macOS, %LOCALAPPDATA%\Specola\profiles\ on Windows.

-t downloads remote providers and rule sets like a normal start, so it also checks that they are reachable. A successful run prints Config validation passed: <path>; a failed one prints Config validation failed: followed by every error.

Exit codes

CodeMeaning
0success
1validation or startup failed; see the message
2the profile was not found or not given
3another Core instance is already running for this user