Install the CLI using the binary install script (recommended) or via PyPI with uv.
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
Both methods install the latest stable release by default.
To install a specific version, set the OPENSHELL_VERSION environment variable before running the install script, or pin the version with uv tool install openshell==<version>.
2
Verify the installation
Run the following command to confirm the CLI is installed and see the full command reference:
Create a sandbox and launch an agent inside it. Choose the tab for your agent:
Claude Code
OpenCode
Codex
GitHub Copilot
Community Sandbox
openshell sandbox create -- claude
The CLI prompts you to create a provider from local credentials. Type yes to continue.If ANTHROPIC_API_KEY is set in your environment, the CLI picks it up automatically. If not, you can configure it from inside the sandbox after it launches.
openshell sandbox create -- opencode
The CLI prompts you to create a provider from local credentials. Type yes to continue.If OPENAI_API_KEY or OPENROUTER_API_KEY is set in your environment, the CLI picks it up automatically. If not, you can configure it from inside the sandbox after it launches.
openshell sandbox create -- codex
The CLI prompts you to create a provider from local credentials. Type yes to continue.If OPENAI_API_KEY is set in your environment, the CLI picks it up automatically. If not, you can configure it from inside the sandbox after it launches.
openshell sandbox create -- copilot
The CLI prompts you to create a provider from local credentials. Type yes to continue.If GITHUB_TOKEN or COPILOT_GITHUB_TOKEN is set in your environment, the CLI picks it up automatically. If not, you can configure it from inside the sandbox after it launches.
Use the --from flag to pull a pre-built sandbox image from the OpenShell Community catalog:
openshell sandbox create --from openclaw
Each community sandbox bundles a container image, a tailored policy, and optional agent skills.
A gateway is created automatically on first use. The sandbox container includes the following tools by default:
Every sandbox starts with minimal outbound access. You open additional access with a short YAML policy that the proxy enforces at the HTTP method and path level — no restart required.
1
Create a sandbox
openshell sandbox create
2
Try a blocked request from inside the sandbox
Inside the sandbox, outbound traffic is denied by default:
curl -sS https://api.github.com/zen# curl: (56) Received HTTP code 403 from proxy after CONNECT
3
Apply a read-only GitHub API policy
Exit the sandbox and apply a policy that allows GET requests to the GitHub API:
openshell policy set demo --policy examples/sandbox-policy-quickstart/policy.yaml --wait
curl -sS -X POST https://api.github.com/repos/octocat/hello-world/issues -d '{"title":"oops"}'# {"error":"policy_denied","detail":"POST /repos/octocat/hello-world/issues not permitted by policy"}
You can run the full automated demo with bash examples/sandbox-policy-quickstart/demo.sh.