The Solsta CLI brings the full power of Solsta to your terminal — no GUI required. Script deployments, automate updates, and integrate with your existing pipeline in minutes.
Get the CLI ready so you can install. You cannot install an environment that does not exist yet,
so step three is finding out what you have access to.
Grab the CLI binary for your platform at solsta.io/download. On macOS and Ubuntu, grant execute permissions before running. Windows requires no extra steps.
# macOS and Ubuntu only
chmod +x /path/to/solsta_cliHow you sign in depends on your situation.
Joining an existing organization
Accept your invitation, then sign in. A browser window will open for your org credentials.
solsta_cli login promptCreating a new organization
Set up your organization in the Solsta Desktop Application first, then sign in here.
solsta_cli login promptCI/CD or unattended machines
Generate Machine Credentials in the Solsta Desktop Application, then authenticate without a browser.
solsta_cli login client_credentials \
--client_id=YOUR_CLIENT_ID \
--client_secret=YOUR_CLIENT_SECRETList the products and environments your account has access to. These commands give you the exact names needed for install — names are case-sensitive.
# List all products
solsta_cli product read
# List all environments in a product
solsta_cli env read --product_name=YourProductName
# List what's already installed on this machine
solsta_cli local readOnce you have your product and environment names, head to Core Commands → Install to continue.
Names are case-sensitive.--product_name=llamacraft will not match a product named LlamaCraft. Always use product read to get exact values.
Every command supports help as a subcommand. Append --out=json,minify to any session for machine-parseable output.
List products, environments, and local installs. Always run this first — product and environment names are case-sensitive and required for all other commands.
solsta_cli product read
solsta_cli env read \
--product_name=LlamaCraft
solsta_cli local readInstall the latest version, pin to a snapshot, or target specific repository versions. The --location flag is required and sets where files land on disk.
# Install latest
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-daily \
--location=c:/builds/lc/
# Install from a snapshot
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-daily \
--history_id=b55b42a6-481d-4c92-b3d6-ad1cb1fc68f8 \
--location=c:/builds/lc/
# Pin a single repository to a specific version
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-daily \
--repository_name=data \
--release_version=Build_7 \
--location=c:/builds/lc/
# Include an optional repository
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-daily \
--repository_name=dev-tools \
--release_id=latest \
--location=c:/builds/lc/Session independence. Each install session is independent from previous ones. Optional repositories not named in the command will be deleted. Required repositories not named will be updated to the latest version assigned in the environment. Be explicit about every repository you want to keep.
Installation notes. An environment can be installed to multiple unique locations. Two environments can share a location only if their repositories do not manage the same files and do not share the same repository name.
Elevation required for protected directories. Installing to C:\Program Files\ or similar requires the CLI to run with administrator privileges. A non-elevated process will exit with code 3.
Update all environments at once or target by name or location. Add --queue to schedule via the orchestration service.
solsta_cli local update --all
solsta_cli local update \
--product_name=LlamaCraft \
--env_name=dev-nightly
solsta_cli local update \
--location=c:/builds/lc/dev/Run a launch entry from an installed environment. Use local read to see available launch entry names for any install path.
solsta_cli local launch \
--launch_name="Launch Debug Tool" \
--location=c:/builds/lc/dev/
# Multiple envs at same path
solsta_cli local launch \
--launch_name="Launch Debug Tool" \
--location=c:/builds/lc/dev/ \
--product_name=LlamaCraft \
--env_name=dev-dailyVerify and restore any environment to its expected state without a full reinstall. Useful after interrupted downloads or manual file changes.
solsta_cli local repair --all
solsta_cli local repair \
--product_name=LlamaCraft \
--env_name=dev-nightly
solsta_cli local repair \
--location=c:/builds/lc/dev/Remove files from disk. Add --delete to also clear the entry from the Solsta GUI's installed environments list. Without it, the entry remains visible in the GUI's Installed Environments tab.
solsta_cli local uninstall \
--all --delete
solsta_cli local uninstall \
--product_name=LlamaCraft \
--env_name=dev-nightly --delete
solsta_cli local uninstall \
--location=c:/builds/lc/dev/local update only goes forward to the latest version. To roll back, use local install with a --history_id or --release_version. The same session independence rules apply — be explicit about every repository.
# Roll back using a snapshot (all required repos)
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-daily \
--history_id=b55b42a6-481d-4c92-b3d6-ad1cb1fc68f8 \
--location=c:/builds/lc/
# Roll back a single repository
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-nightly \
--repository_name=dev-debug \
--release_version=6.1.0 \
--location=c:/builds/lc/nightly/
# Roll back multiple repositories
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-nightly \
--repository_name=dev-debug \
--release_version=6.1.0 \
--repository_name=data \
--release_version=1.0.8 \
--location=c:/builds/lc/nightly/
# Snapshot as base, override one repo
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-daily \
--history_id=b55b42a6-481d-4c92-b3d6-ad1cb1fc68f8 \
--repository_name=data \
--release_version=Build_7 \
--location=c:/builds/lc/Snapshot history IDs are in the Solsta GUI under the History tab for any environment. Hover over a snapshot ID and click the copy icon.
Every command outputs its supported options and parameters when help is used as a subcommand.
solsta_cli help
solsta_cli product help
solsta_cli local helpPre-built scripts that combine Solsta CLI commands to handle common studio workflows.
Schedule a CLI update that pulls the latest nightly build across all machines in your network before your team arrives each morning.
solsta_cli local update --all --queue
solsta_cli queue runTrigger installs or updates as a step in Jenkins, TeamCity, or GitHub Actions using M2M credentials — no browser login required.
solsta_cli login client_credentials \
--client_id=$CLIENT_ID \
--client_secret=$CLIENT_SECRET
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-daily \
--location=c:/builds/lc/Roll every machine in a lab back to a specific snapshot in a single orchestrated command string using --history_id.
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-daily \
--history_id=b55b42a6-... \
--location=c:/builds/lc/ --queue
solsta_cli queue runRun a lightweight scheduled local read task to keep user tokens refreshed across machines that don't log in daily.
# Schedule this as a daily task
solsta_cli local readChoose user login for individual developers, or machine credentials for unattended automation. Tokens are stored in your OS credential manager.
Stay logged in. If the CLI runs at least once every 30 days, your token refreshes automatically. Create a scheduled local read task to keep tokens active on machines that sit idle.
M2M tokens expire after 24 hours. Use them in CI/CD pipelines where a fresh token is generated per job. See Machine Credentials in your Solsta Desktop Application to create and manage credentials.
solsta_cli login promptOpens a browser window. Authenticates via your org's login page. Token refreshes every session. Valid for 30 days of inactivity.
solsta_cli login client_credentials \
--client_id=YOUR_ID \
--client_secret=YOUR_SECRETNo browser required. Ideal for CI pipelines and lab machines. Expires after 24 hours.
Every CLI session exits with a code. Combine --out=json,minify with your parser to integrate Solsta into any automation workflow.
| Code | Meaning |
|---|---|
| 0 | Success — operation completed without errors |
| 1 | Help displayed — no operation was run |
| 2 | Error — check the error section for details |
| 3 | Elevation required — rerun as administrator. Occurs when installing to protected directories such as C:\Program Files\ |
Suppress expected errors with --expected. Converts a known non-fatal error code from exit 2 to exit 0. Accepts a single value or comma-separated list.
# Nothing installed at location - suppress the 404 and exit cleanly
solsta_cli local update \
--location=c:/builds/lc/dev/ \
--product_name=LlamaCraft \
--env_name=dev-daily \
--expected=404| Flag | Behavior |
|---|---|
| --out=json | Formats all session output as JSON |
| --out=minify | Removes line breaks for single-line output |
| --out=json,minify | Single-line JSON — ideal for log parsing |
| --status_interval=N | Print progress every N seconds (default: 30). Use -1 to disable, 0 for immediate |
| --debugfile | Writes solsta_cli.log to your desktop |
| --debug | Writes log to the OS-default Solsta log directory |
The Solsta Orchestration Service queues and throttles installs across shared networks to prevent bottlenecks. All download operations flow through the queue automatically.
Append --queue to any install, update, or repair command to schedule it instead of running immediately. Items stay in the queue for 24 hours.
solsta_cli local install \
--product_name=LlamaCraft \
--env_name=dev-daily \
--location=c:/builds/ --queue
solsta_cli local update --all --queue
solsta_cli local repair \
--product_name=LlamaCraft \
--env_name=dev-nightly --queueList all queued operations for the current machine under the active credentials. Use the Solsta Desktop Application to view the full queue across all devices in your org.
solsta_cli queue status
# View sort and filter options
solsta_cli queue helpProcess all queued items on this machine. On throttled networks the client waits up to 4 hours for its slot. Use --orch_throttle_timeout to set a shorter wait in seconds.
solsta_cli queue run
# Limit wait to 20 minutes on throttled networks
solsta_cli queue run \
--orch_throttle_timeout=1200Using the CLI and GUI together. The Solsta CLI and Desktop Application are designed to coexist on the same machine. However, the GUI does not reflect CLI changes in real time — restart the GUI to see updates made by the CLI. If both run simultaneously, the GUI may occasionally pick up CLI operations from the orchestration service. This won't cause issues, but using --queue to schedule operations outside of GUI sessions is the safest approach.