NVIDIA OpenShell · Reference · v0.1.x

OpenShell cheat sheet

Sandboxing Claude Code, Copilot CLI and OpenCode. Commands verified against the docs at v0.1.2 (2026-10-07). Anything with inference set or --from openclaw is pre-0.1.0 and dead.

The model in one picture

Gateway: keys · policy · providers → Supervisor: enforce · inject key · connect ⇄ Sandbox: agent with placeholder key, no network
Deny by default · rules scoped by binary + host · the agent never sees real credentials.

Lifecycle

DoCommand
Installcurl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
Healthopenshell status
Build agent imagedocker build -t claude-agent:local -f Dockerfile.claude .
Create + run agentopenshell sandbox create --name X --from IMG --provider P -- claude
Bring code in--upload .:/workspace on create · openshell sandbox upload X ./src
Get results outopenshell sandbox download X <path> ./local
Run a command insideopenshell sandbox exec --name X -- <cmd>
Reattachopenshell sandbox connect X
List / stop / deleteopenshell sandbox list · stop X · delete X
Logs (denials!)openshell logs X --source sandbox

Providers (credentials + access)

DoCommand
Import a profileopenshell profile import --url https://raw.githubusercontent.com/NVIDIA/OpenShell/main/providers/claude-code.yaml (or -f file.yaml; add --global for platform-wide)
Key into session onlyread -rs ANTHROPIC_API_KEY && export ANTHROPIC_API_KEY
Create provideropenshell provider create --name my-claude --type claude-code --from-existing, then unset the variable
Attach lateropenshell sandbox provider attach X my-claude --wait (only new processes get it)
AgentProfileCredential envSmoke test
Claude Codeclaude-codeANTHROPIC_API_KEY-- claude -p 'reply with OK'
Copilot CLIcopilotCOPILOT_GITHUB_TOKEN / GH_TOKEN-- copilot -p 'reply with OK'
CodexcodexCODEX_AUTH_*-- codex exec 'reply with OK'
OpenCodeopenrouter (etc.)OPENROUTER_API_KEY--from ghcr.io/anomalyco/opencode:latest -- opencode -m …

Policy

SectionControlsChanges
filesystem_policyread_only / read_write paths, include_workdirstatic → recreate sandbox
landlockbest_effort | hard_requirementstatic
processrun-as user/groupstatic
network_policieshost · port · protocol · binaries · access / rules / deny_rules · enforce | audithot-reload
openshell policy get X --full                      # effective policy
openshell policy set X --policy policy.yaml --wait
openshell policy update X --rule-name gh_ro --binary /usr/bin/curl \
  --add-endpoint api.github.com:443:read-only:rest:enforce --wait
openshell rule get X --status pending              # advisor proposals
openshell rule approve X --chunk-id <id>   ·   openshell rule reject X --chunk-id <id> --reason "…"

Layers of "no" (with Check Point)

LayerAsksScope
OpenShell policyIs this permitted? (binary · host · path)one sandbox
Supervisor middleware → CP semantic monitoring (beta)Does it still fit the task? (<100 ms)one agent trajectory
Check Point AI Defense PlaneWhich agents exist, and are they governed?whole enterprise

Request path: policy → middleware → inject credential → forward. Middleware sees only allowed traffic, never the key, and is fail_closed by default.

network_middlewares:
  regex-demo:
    middleware: openshell/regex          # demo only; or a registered gRPC service
    endpoints: { include: ["api.anthropic.com"] }
    # order: 20 · on_error: fail_closed (default) · config: {...}

Always true