Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .agents/skills/openshell-cli/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,13 +183,13 @@ openshell sandbox create \
```

Key flags:
- `--provider`: Attach one or more providers (repeatable)
- `--provider`: Attach configured credential providers for API keys, tokens, and other secrets (repeatable)
- `--policy`: Custom policy YAML (otherwise uses built-in default or `OPENSHELL_SANDBOX_POLICY` env var)
- `--gpu [COUNT]`: Request the driver's default GPU selection or a specific GPU count
- `--cpu`, `--memory`: Set per-sandbox compute sizing. Docker/Podman apply limits; Kubernetes applies matching requests and limits.
- `--driver-config-json`: Pass experimental driver-specific sandbox configuration
- `--label KEY=VALUE`: Add labels for later selection (repeatable)
- `--env KEY=VALUE`: Inject sandbox environment variables (repeatable)
- `--env KEY=VALUE`: Set non-secret sandbox environment variables (repeatable); use `--provider` for credentials
- `--approval-mode manual|auto`: Control handling of agent-authored policy proposals; `manual` is the default
- `--upload <PATH>[:<DEST>]`: Upload local files into the container working directory or an explicit destination
- `--no-git-ignore`: Disable `.gitignore` filtering for uploads
Expand Down Expand Up @@ -242,6 +242,8 @@ openshell sandbox exec --name my-sandbox --env MODE=test -- cargo test
```

`sandbox exec` streams output and exits with the remote command's exit code. Use `sandbox connect` for an interactive shell.
Use `--env` only for non-secret values. Attach credentials to the sandbox with a
provider instead of passing API keys, tokens, or other secrets to `sandbox exec`.

### Change attached providers

Expand Down
12 changes: 9 additions & 3 deletions crates/openshell-cli/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1391,7 +1391,9 @@ enum SandboxCommands {
#[arg(long, value_name = "JSON")]
driver_config_json: Option<String>,

/// Provider names to attach to this sandbox.
/// Attach a configured credential provider to the sandbox.
/// Use providers for API keys, tokens, and other secrets so commands in
/// the sandbox do not receive the real credential values. Repeatable.
#[arg(long = "provider")]
providers: Vec<String>,

Expand Down Expand Up @@ -1431,7 +1433,9 @@ enum SandboxCommands {
#[arg(long = "label")]
labels: Vec<String>,

/// Environment variables to inject into the sandbox (KEY=VALUE format, repeatable).
/// Set a non-secret environment variable in the sandbox.
/// Do not use this option for API keys, tokens, or other secrets; create
/// a provider and attach it with `--provider` instead. Repeatable.
#[arg(long = "env", value_name = "KEY=VALUE")]
envs: Vec<String>,

Expand Down Expand Up @@ -1553,7 +1557,9 @@ enum SandboxCommands {
#[arg(long, overrides_with = "tty")]
no_tty: bool,

/// Environment variables to set for the command (KEY=VALUE format, repeatable).
/// Set a non-secret environment variable for the command.
/// Do not use this option for API keys, tokens, or other secrets; attach
/// a provider to the sandbox instead. Repeatable.
#[arg(long = "env", value_name = "KEY=VALUE")]
envs: Vec<String>,

Expand Down
Loading