Installation
Install OpenShell on a local workstation or Kubernetes.
Install OpenShell
Install the CLI, policy prover, and a local gateway with one command:
The script picks a package for your platform and starts the gateway. Confirm the CLI can reach it:
To install a specific release, set OPENSHELL_VERSION to a release tag. Release artifacts are also on the GitHub Releases page.
Prerelease and Development Builds
Use a prerelease candidate to evaluate an upcoming release, or the rolling development build to test the latest commit on main. These builds may change before the next stable release. The matching documentation is published in the development channel.
Prerelease packages are retained as GitHub Actions artifacts for 90 days and require an authenticated GitHub CLI session. The pre alias installs the latest prerelease:
The installer checks prerelease tags from newest to oldest, selects an unexpired artifact from a successful release run for the current platform, and downloads only that artifact. Installed packages keep the candidate’s exact version, such as 0.1.0-pre.3. Prerelease tags do not create entries on the GitHub Releases page. On Linux, prereleases and explicit release tags use Debian or RPM packages even if snap is installed.
The rolling dev release does not require GitHub authentication:
For Kubernetes, select the corresponding Helm chart version. Helm chart versions omit the leading v from release tags:
Prerelease charts use exact <version>-pre.N versions. Development charts are also published as immutable 0.0.0-dev.<commit-sha> versions when you need to pin a specific commit.
Supported Runtimes
The local gateway auto-detects an available runtime. To pin one, set compute_driver in the gateway TOML file. See Sandbox Runtimes.
macOS
The script installs OpenShell with Homebrew and runs the gateway as a Homebrew service at https://localhost:17670.
The gateway reads ~/.config/openshell/gateway.toml if it exists, otherwise the Homebrew config at $(brew --prefix)/var/openshell/gateway.toml.
Linux
The script uses the Snap package when snap is available. Otherwise, or when you set OPENSHELL_VERSION to a release tag, it installs a Debian package on Debian and Ubuntu or an RPM package on Fedora and RHEL. Linux packages require glibc 2.28 or newer.
The gateway runs as a systemd user service at https://127.0.0.1:17670 and reads ~/.config/openshell/gateway.toml.
To keep the gateway running after you log out, enable linger:
Snap
The snap requires Docker Engine installed from your distribution or Docker’s package repository. The Docker snap is not compatible.
The snap does not migrate existing Debian, RPM, or Homebrew installs. Remove any existing installation first, then rerun the script with OPENSHELL_ACK_BREAKING_UPGRADE=1.
The gateway runs as a system service at http://127.0.0.1:17670 and reads /var/snap/openshell/common/gateway.toml.
The snap gateway allows unauthenticated access from the local host. Any local user or process can operate it. Do not expose it beyond the local host.
Snap refreshes do not restart the gateway, so active sandboxes keep running. Restart it to pick up a new version:
To install a locally built snap, connect its interfaces manually:
Kubernetes
Deploy the gateway to a cluster with the OpenShell Helm chart. See Kubernetes Setup.
Validate Gateway Configuration
Check a gateway config file before restarting the service:
Preflight never changes the file. If the gateway reports a legacy schema, follow the schema version 2 migration steps.
Uninstall OpenShell
Homebrew:
Debian and Ubuntu:
Fedora and RHEL:
Snap:
Remove any custom config or database set through OPENSHELL_GATEWAY_CONFIG or OPENSHELL_DB_URL separately.
Next Steps
- Run Your First Agent to prepare an image and launch an agent.
- Running the Gateway as a Container to skip the installer.
- Gateways to register, select, and inspect gateways.
- Providers to supply API keys and tokens.
- Policies to control what the agent can access.