mrkeyoor.com_
Tue 01 Sept 17:39 UTC
Self-Hostedevaluationupdated 01 Sept 2026

OpenShell review

OpenShell is a runtime for putting coding agents and other autonomous tools inside controlled sandboxes. It combines container or microVM isolation with YAML rules for filesystem access, processes, outbound traffic, and model credentials.

trackingstars / 7d
Verdict

Our OpenShell run installed 43 packages and built in 5 seconds, but the test command ended with 3 collection or setup errors after 13 tests passed. The policy model is a serious answer to the risks of giving agents shells and credentials, and Apache-2.0 makes a pilot easy to justify. Treat v0.0.116 as an alpha security component: qualify the exact host, driver, policy update path, and failure behavior before placing sensitive work inside it.

We ran it

Lab card: what happened when we ran OpenShellScreenshot of OpenShell (docs.nvidia.com/openshell/latest)
Install✓ · 34s43 packages · 58 MB
Build✓ · 5s
Tests✗ · 6s13 passed · 0 failed · 3 errors of 16 (pytest)
Known vulns0(pip-audit)
Repo1517 files~511,973 lines of source · 25.6 MB · 40 CI workflows

Answers from our run

Does OpenShell build from source?

Dependencies installed in 34 seconds (43 packages), and the build succeeded in 5 seconds. We cloned commit 8a13bc1 into a clean Debian container with 3 CPUs and no project-specific setup.

Do OpenShell's tests pass?

Yes: 13 of 16 passed when we ran the project's own test command (pytest), with 3 collection errors. Some failures need services or credentials a bare container does not have.

Does OpenShell have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use OpenShell?

Buyers seeking a stable platform contract today: the project calls itself alpha, the current release is v0.0.116, and Kubernetes, GPU, and WSL 2 paths are experimental.

What are the alternatives to OpenShell?

E2B, Daytona, gVisor. Our OpenShell run installed 43 packages and built in 5 seconds, but the test command ended with 3 collection or setup errors after 13 tests passed.

Setup2/5Python setup is quick; the real runtime needs a compute driver
Docs5/5Architecture, policies, providers, commands, and platform limits are clear
Community5/58,472 stars with a September 1 push and rapid issue activity
Maturity2/5Alpha v0.0.116 has experimental paths and open policy reports

Who it’s for

Platform teams running Claude Code, Codex, OpenCode, Copilot, or another powerful agent against company systems.
Security engineers who want network policy decisions and denied requests visible outside the agent.
Self-hosters prepared to operate a gateway plus Docker, Podman, microVMs, or Kubernetes.
Teams that need model credentials injected at runtime instead of copied into a sandbox filesystem.

Who it’s NOT for

Buyers seeking a stable platform contract today: the project calls itself alpha, the current release is v0.0.116, and Kubernetes, GPU, and WSL 2 paths are experimental.
Teams requiring every test module to collect on a fresh machine: our run had 13 passing tests and 3 collection or setup errors.
Apple Silicon operators who require Landlock to fail closed in the packaged VM guest: open issue 3095 reports no usable Landlock ABI in v0.0.116.
Driver-controlled runtimes that depend on live policy replacement: issue 3077 reports accepted revisions that the active runtime did not apply.
Kubernetes operators expecting empty OIDC role values to enable authentication-only mode: issue 3045 reports that the v0.0.116 chart restores default RBAC roles instead.
Developers without a supported container or virtualization runtime: the CLI alone cannot provide the isolation OpenShell promises.

Setup reality

Our sandbox installed the Python portion in 34 seconds, adding 43 packages and using 58 MB. The build passed in 5 seconds. Tests failed with exit code 1 after 6 seconds: 13 passed, 0 failed, and 3 hit collection or setup errors. Pip-audit found 0 known vulnerabilities.

The recommended CLI comes from OpenShell's binary installer; the PyPI package is only the Python SDK. Creating a useful sandbox requires Docker, Podman, a microVM-capable host, or Kubernetes, plus agent credentials or explicit provider bundles. GPU work also needs NVIDIA drivers and the Container Toolkit.

Linux, Apple Silicon macOS, and experimental WSL 2 are documented. Kubernetes and GPU support are experimental. Filesystem and process rules are fixed when a sandbox is created, while network and inference rules can change live. Anonymous operational telemetry is enabled by default and can be disabled or compiled out.

Four policy domains separate files, networks, processes, and inference

OpenShell applies rules across 4 domains. Filesystem policy limits readable and writable paths, process policy restricts privilege and system calls, network policy controls outbound destinations, and inference policy routes model requests through approved backends. Filesystem and process settings are fixed when the sandbox starts. Network and inference settings can be replaced while it runs. This split makes sense because a live agent may need a new API endpoint, while silently widening file access underneath an existing process is harder to reason about.

A gateway coordinates sandbox creation and acts as the authentication boundary. Outbound traffic passes through a policy engine that allows it, routes model inference, or denies it and records the decision. Provider bundles place agent or model credentials into the runtime environment without writing them into the sandbox filesystem, according to the README. That is a better boundary than pasting a long-lived token into an agent's working directory, although operators still own provider permissions, rotation, gateway access, and logs.

Four compute drivers turn installation into an infrastructure job

Docker, Podman, microVM, and Kubernetes are the 4 documented compute choices. Linux and Apple Silicon macOS are supported hosts, while Windows uses experimental WSL 2 support. The recommended installer downloads a compiled CLI. The openshell package on PyPI supplies only the Python SDK, so uv add openshell will not produce the command shown in the quick start. A first sandbox also needs an image with the intended agent and tools.

The included base environment lists Python 3.14, Node 22, Git, GitHub's CLI, editors, and four agent commands. Community images and custom Dockerfiles extend it. GPU passthrough is experimental and requires NVIDIA host drivers plus the Container Toolkit; the default base image lacks workload GPU libraries. Kubernetes deployment uses an experimental Helm chart. These prerequisites are manageable for a platform team, but they make OpenShell a poor fit for developers expecting one Python package to create a secure boundary.

What happened when we ran it

Our sandbox installed commit 8a13bc1 in 34 seconds, adding 43 Python packages and using 58 MB. The build completed successfully in 5 seconds, and pip-audit found 0 known vulnerabilities. The checkout had 1,517 files, about 511,973 source lines, and measured 25.6 MB. GitHub identifies Rust as the primary language, while our supplied harness exercised the Python portion in a 3-CPU, 8 GB Debian container.

The test command exited 1 after 6 seconds. Pytest reported 13 passed, 0 failed, and 3 collection or setup errors out of 16. The three affected files were openshell_test.py, release_formula_test.py, and sandbox_test.py. The tail also contained one warning for an unknown asyncio_mode configuration option. It does not show the underlying exception for each error, so the safe conclusion is limited: collected assertions passed, while the available command did not complete successfully in our fresh environment.

Our repository scan found 40 CI workflow files, no Dockerfile, and no top-level tests directory. That layout is unusual beside the runtime-focused README, but the project distributes binaries and points base sandbox users to the separate OpenShell Community repository. The absence of a Dockerfile in this checkout does not mean Docker is unsupported. It means reviewers should trace the published binary, VM runtime, Helm chart, and sandbox image as separate artifacts when building a supply-chain policy.

v0.0.116 has a specific Apple Silicon containment report

Release v0.0.116 was published on August 28, 2026. Open issue 3095 reports that its packaged Apple Silicon VM guest returned ENOSYS when queried for the Landlock ABI. Under the issue's hard_requirement setting, sandbox creation failed instead of continuing without filesystem containment. That is the correct fail-closed outcome, but it also means the packaged VM backend did not meet the reporter's required policy on that host. Apple Silicon buyers should reproduce this exact check.

Issue 3077 describes a different boundary in a driver-controlled Windows runtime. A live policy revision could be accepted and stored by the gateway while the active runtime kept enforcing its creation-time policy. The report says deletion and recreation is the current workaround. Because the finding came from code review without native Windows execution, it should be verified on the target driver. A security control that reports desired state separately from enforced state needs explicit acknowledgement tests before production.

September activity is high, while the public contract remains alpha

GitHub recorded 8,472 stars, 553 open issues and pull requests, and a push on September 1, 2026. The combined count includes planned engineering work and pull requests, so it is not a defect total. Releases were frequent in August, with v0.0.115 followed by v0.0.116 one day later. That pace shows active maintenance and also raises the cost of qualifying every binary, driver, guest image, and chart as a matched set.

OpenShell enables anonymous operational telemetry by default. The README says events exclude prompts, credentials, provider names, paths, and user content. Operators can set OPENSHELL_TELEMETRY_ENABLED=false, disable it in Helm, or build Rust components without the telemetry feature. Combined with Apache-2.0 licensing, those controls make a private deployment feasible. The alpha label, 3 setup errors in our test command, and current platform reports still call for a staged rollout with denied-request tests and a verified escape path.

Alternatives

ProjectWhat it isPick it when
E2BA hosted sandbox platform and SDK for running agent-generated code.pick this instead when an on-demand managed environment is preferable to operating an OpenShell gateway and compute drivers.
Daytona gh↗Infrastructure for creating isolated workspaces that execute AI-generated code.pick this instead when elastic workspace provisioning matters more than OpenShell's policy and credential-routing model.
gVisor gh↗A container sandbox runtime that adds a userspace application kernel.pick this instead when you need a lower-level container isolation boundary and will build agent policy and credential handling yourself.
Kata ContainersA lightweight VM runtime designed to look and operate like containers.pick this instead when VM-backed container isolation is the requirement and an agent-specific gateway would be extra machinery.

What people are saying

  1. [github-trending] NVIDIA/OpenShell

Sources

  1. OpenShell repository and README
  2. OpenShell v0.0.116 release
  3. Apple Silicon Landlock report
  4. Live policy revision report
  5. Helm authentication-only mode report

More self-hosted reviews

v2 · wigolo · Mindwtr · club-3090 · reclip · Mindustry · the whole board →