OpenShell is the safe, private runtime for autonomous AI agents. https://docs.nvidia.com/openshell/latest/
  • Rust 87.1%
  • Go 4.8%
  • Shell 3.4%
  • Python 2.5%
  • TypeScript 0.9%
  • Other 1%
Find a file
krishicks 5bfe2fbc88
docs(contributing): exempt build and flaky-test fixes from the issue requirement (#4875)
Prior to this change, CONTRIBUTING.md, the PR template, and the
create-github-pr skill required every PR except automated dependency
updates to close an issue. A maintainer fixing a broken build or flaky
tests had to file an issue that only restated the failure the PR already
describes.

Now, authors with WRITE, MAINTAIN, or ADMIN access may open a PR that
only fixes a broken build or flaky tests without a separate issue, and
describe the failure in the PR instead. Authors without write access
still need an accepted issue; the PR Issue Acceptance workflow already
passes write-access authors without checking for linked issues, so it
needs no change. The branch naming rule now covers PRs without an issue,
and the sync-agent-infra consistency check states the new rule.

Signed-off-by: Kris Hicks <khicks@nvidia.com>
2026-10-23 14:40:13 +00:00
.agents/skills docs(contributing): exempt build and flaky-test fixes from the issue requirement (#4875) 2026-10-23 14:40:13 +00:00
.cargo fix(build): add z3 include path for RHEL/Fedora bindgen compatibility (#1388) 2026-05-18 20:16:27 -07:00
.claude fix(gator): surface PR-owned security regressions in reviews (#4338) 2026-10-12 17:25:58 +00:00
.config fix(ci): restore default e2e coverage with a Kubernetes recovery waiver (#4424) 2026-10-16 17:43:11 +00:00
.github docs(contributing): exempt build and flaky-test fixes from the issue requirement (#4875) 2026-10-23 14:40:13 +00:00
.opencode/agents docs: remove the architecture directory (#3799) 2026-09-29 17:35:22 +00:00
crates feat(kubernetes): host sandboxes on the shared supervisor (#4702) 2026-10-22 22:20:02 +00:00
deploy feat(kubernetes): host sandboxes on the shared supervisor (#4702) 2026-10-22 22:20:02 +00:00
docs fix(server): bound the provisioning-deadline scan's lock wait (#4549) 2026-10-22 21:04:14 +00:00
e2e fix(deps): update ctutils to resolve timing advisory (#4867) 2026-10-23 14:13:07 +00:00
examples fix(deps): update ctutils to resolve timing advisory (#4867) 2026-10-23 14:13:07 +00:00
fern ci(release): decouple prerelease publication from qualification (#4420) 2026-10-15 17:45:19 +00:00
nix feat(vm): add host bind mount support via virtiofs (libkrun) (#3463) 2026-10-16 07:56:32 +00:00
proto feat(kubernetes): host sandboxes on the shared supervisor (#4702) 2026-10-22 22:20:02 +00:00
providers docs(providers): close stdin in the openrouter smoke test (#3907) 2026-10-20 21:55:09 +00:00
python fix(python): ship credential driver protocol bindings (#4760) 2026-10-20 23:07:53 +00:00
rfc feat(sandbox): publish and activate sandbox backend protocol (#3898) 2026-10-16 19:18:44 +00:00
scripts chore(deps): update Mermaid lint dependencies (#4743) 2026-10-20 12:24:35 +00:00
sdk chore(sdk): update Vite to 8.1.6 (#4792) 2026-10-21 15:01:10 +00:00
skills feat(kubernetes): host sandboxes on the shared supervisor (#4702) 2026-10-22 22:20:02 +00:00
snap fix(snap): only enable gateway user service for one user (#4615) 2026-10-20 00:51:58 +00:00
tasks feat(kubernetes): host sandboxes on the shared supervisor (#4702) 2026-10-22 22:20:02 +00:00
telemetry docs(telemetry): split reports into one file per period and add Jul 26 + Aug 10 reports (#2690) 2026-08-13 20:56:00 +00:00
tests fix(deps): update ctutils to resolve timing advisory (#4867) 2026-10-23 14:13:07 +00:00
.dockerignore chore(ci): speed up ci builds and improve caching (!20) 2026-02-13 11:06:25 -08:00
.env.example refactor(cli): remove gateway lifecycle management (#1221) 2026-05-07 09:54:13 -07:00
.gitattributes feat(ocsf): create openshell-ocsf crate — standalone OCSF event types, formatters, and tracing layers (#489) 2026-03-20 12:19:26 -07:00
.gitignore refactor(tests): move tmachine support files under tests/tmachine (#4726) 2026-10-21 01:09:24 +00:00
.markdownlint-cli2.jsonc docs: remove the architecture directory (#3799) 2026-09-29 17:35:22 +00:00
.packit.yaml ci: add Fedora conformance workflow (#3086) 2026-09-02 13:06:32 +00:00
.python-version chore: align .python-version with mise.toml (#1618) 2026-05-28 17:38:10 -07:00
.trivyignore.yaml chore(security): document Kubernetes runtime RBAC (#3328) 2026-09-14 22:11:42 +00:00
about.toml feat(sbom): add SBOM generation, license resolution, and CSV export tooling (#239) 2026-03-11 15:34:00 -07:00
AGENTS.md feat(kubernetes): host sandboxes on the shared supervisor (#4702) 2026-10-22 22:20:02 +00:00
buf.yaml refactor(proto): isolate gateway storage messages (#3169) 2026-09-10 16:36:07 +00:00
Cargo.lock fix(deps): update ctutils to resolve timing advisory (#4867) 2026-10-23 14:13:07 +00:00
Cargo.toml refactor(crypto): introduce a generic interface for crypto libraries and refactor AWS-LC (#3351) 2026-10-19 19:09:49 +00:00
CI.md feat(skills): add release-captain skill for the weekly release cadence (#4435) 2026-10-21 15:41:17 +00:00
CLAUDE.md feat(ci): add Markdown and Mermaid linting (#933) 2026-04-24 11:27:02 -07:00
CODE_OF_CONDUCT.md docs: add code of conduct (#3223) 2026-09-08 19:14:26 +00:00
CONTRIBUTING.md docs(contributing): exempt build and flaky-test fixes from the issue requirement (#4875) 2026-10-23 14:40:13 +00:00
DCO chore: add open-source compliance files and SPDX headers (#71) 2026-03-03 09:30:56 -08:00
deny.toml refactor(crypto): introduce a generic interface for crypto libraries and refactor AWS-LC (#3351) 2026-10-19 19:09:49 +00:00
flake.lock fix(test-guest): pin HVF runtime dependencies (#2924) 2026-08-25 14:01:29 +00:00
flake.nix refactor(tests): move tmachine support files under tests/tmachine (#4726) 2026-10-21 01:09:24 +00:00
GOVERNANCE.md docs: add project governance (#3191) 2026-09-04 19:01:14 +00:00
install.sh fix(installer): resolve the gateway config dir like the CLI does (#4063) 2026-10-22 19:32:47 +00:00
LICENSE fix(license): restore canonical Apache 2.0 wording (#4249) 2026-10-06 21:43:42 +00:00
MAINTAINERS.md docs: add project maintainers (#3166) 2026-09-03 17:18:20 +00:00
mise.lock feat(e2e): run the Kubernetes e2e suite on cargo-nextest with machine- and human-readable reports (#3344) 2026-09-18 15:50:03 +00:00
mise.toml feat(e2e): run the Kubernetes e2e suite on cargo-nextest with machine- and human-readable reports (#3344) 2026-09-18 15:50:03 +00:00
openshell.spec fix(rpm): build the Python SDK from older protoc and install every SDK module (#4439) 2026-10-14 18:52:32 +00:00
pyproject.toml fix(deps): update pytest to 9.0.3 (#4713) 2026-10-19 14:18:01 +00:00
README.md docs(readme): remove grpcurl walkthrough (#4585) 2026-10-15 04:52:52 +00:00
rust-toolchain.toml feat(flake): add Nix development shell (#1592) 2026-05-28 21:06:30 -07:00
SECURITY.md docs: fix broken links and small inconsistencies (#2329) 2026-07-20 17:46:31 +00:00
snapcraft.yaml fix(snap): use openshell-prover instead of openshell.prover (#4835) 2026-10-22 17:12:02 +00:00
STYLEGUIDE.md docs: fix STYLEGUIDE heading to match filename (#2134) 2026-07-06 10:08:55 -07:00
TESTING.md test(testkit): add the testkit library for end-to-end suites (#4724) 2026-10-22 17:11:31 +00:00
THIRD-PARTY-NOTICES fix(python): remove CLI from wheel (#2321) 2026-08-25 13:20:42 +00:00
uv.lock chore(deps): bump certifi from 2026.5.20 to 2026.10.19 (#4764) 2026-10-20 23:27:04 +00:00

OpenShell

License PyPI Security Policy Documentation

Important

New in OpenShell 0.1.x: a stable release cadence, new isolation primitives, an expanded extension surface, and new APIs. Read the 0.1.0 upgrade guide.

OpenShell is the safe, private runtime for fleets of autonomous AI agents. Agents are most useful when they can read files, install packages, call APIs, and use credentials. OpenShell gives them that capability without giving them unrestricted access to your data, secrets, or network. You declare what each agent can touch in a policy, and OpenShell enforces it.

How It Works

OpenShell governs what agents can do in two ways: it instruments the kernel to enforce policy on every file access, system call, and network connection at runtime, and it uses formal verification to check what a policy change would allow before it is applied.

  • Kernel-level enforcement. Each agent runs in an isolated sandbox. Kernel controls confine which files it can access and which system calls it can make, and every network connection passes through a policy check before it leaves the sandbox. Agents never see real credentials; OpenShell adds them only to requests bound for approved endpoints.
  • Formally verified policy changes. Before a policy change is approved, OpenShell uses formal verification to flag risky new access it would grant, such as reaching a new host with credentials or calling a new API method, so those changes wait for human review.

See Architecture for how the gateway, supervisor, and sandbox fit together.

Quickstart

You need Linux, macOS on Apple Silicon, or Windows with WSL 2 (experimental), plus Docker, Podman, or host virtualization. See the Support Matrix for details.

curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name demo

The installer sets up the CLI and a local gateway. The default sandbox image is minimal Ubuntu with no agent installed. To run a real agent, follow Run Your First Agent: it runs OpenCode against a free OpenRouter model and shows how to approve new access as the agent needs it.

Explore Further

Agent Skills

Install the public OpenShell skills for your coding agent:

npx skills add NVIDIA/OpenShell

The skills teach your agent to drive the OpenShell CLI, write sandbox policies, and debug gateways and inference routing. They live in skills/ and work without an OpenShell source checkout.

SDKs

SDKs connect applications to an OpenShell gateway. They do not install the CLI. Use the same OpenShell release for the SDK and the gateway when possible.

Language Install Docs
Python uv add openshell README
TypeScript npm install @nvidia/openshell-sdk (GitHub Packages) README
Go go get github.com/NVIDIA/OpenShell/sdk/go@latest README
Rust cargo add openshell-sdk --git https://github.com/NVIDIA/OpenShell --tag <release-tag> Installation and usage

Community

OpenShell is built agent-first: it is developed with the same agent-driven workflows it enables. See CONTRIBUTING.md for development setup and the contribution workflow, and AGENTS.md for repository coding conventions.

Telemetry

OpenShell collects anonymous telemetry, limited to operational categories and counts, to help improve the project. It does not collect sandbox names, hostnames, file paths, prompts, credentials, provider or model names, or user content. To disable it, set OPENSHELL_TELEMETRY_ENABLED=false on the gateway, or server.telemetryEnabled=false for Helm installs. You can also compile telemetry out entirely. See Telemetry for details and the community telemetry reports for published usage trends.

Notice and Disclaimer

This software automatically retrieves, accesses or interacts with external materials. Those retrieved materials are not distributed with this software and are governed solely by separate terms, conditions and licenses. You are solely responsible for finding, reviewing and complying with all applicable terms, conditions, and licenses, and for verifying the security, integrity and suitability of any retrieved materials for your specific use case. This software is provided "AS IS", without warranty of any kind. The author makes no representations or warranties regarding any retrieved materials, and assumes no liability for any losses, damages, liabilities or legal consequences from your use or inability to use this software or any retrieved materials. Use this software and the retrieved materials at your own risk.

License

This project is licensed under the Apache License 2.0.