Sign inSign up

sbx/shell-credentials

Verified Publisher

By Docker, Inc

•Updated about 8 hours ago

Eight provider credentials for an agentless sandbox, resolved by the sandbox proxy.

Sandbox Kit
0

142

sbx/shell-credentials repository overview

Digest

sha256:324402fe407a…

Size

2.1 kB

Schema

v3

Pushed

about 8 hours ago

Specificationspec.yaml

MIXIN

Eight provider credentials for an agentless sandbox, resolved by the sandbox proxy.


CapabilitiesExpand a row to see its full configuration. See the full spec for the complete descriptor.
TypeRequiredDescription
com.docker.sandbox/network-policy@1Required—
com.docker.sandbox/credential@1OptionalAnthropic API key
com.docker.sandbox/credential@1OptionalGitHub token for gh, git over HTTPS and the Copilot API
com.docker.sandbox/credential@1OptionalGoogle AI API key
com.docker.sandbox/credential@1OptionalMistral API key
com.docker.sandbox/credential@1OptionalNebius API key
com.docker.sandbox/credential@1OptionalOpenAI API key
com.docker.sandbox/credential@1OptionalOpenRouter API key
com.docker.sandbox/credential@1OptionalxAI API key

Apply this mixin to a sandbox

sbx run <agent> --kit sbx/shell-credentials:latest

Make sure you have docker sbx installed

Run the following command to install sbx on your machine.

macOS
brew install docker/tap/sbx
Windows
winget install Docker.sbx
Learn more about docker sbx⁠

Note

Experimental: Sandbox Kit v3

This kit uses the experimental Sandbox Kit specification⁠, specifically v3⁠. The format and runtime behavior may change before v3 is stable.

⁠shell-credentials

A declaration-only mixin carrying the eight provider credentials the built-in agentless sandbox used to declare. It ships no content: the real values stay on the host, and the sandbox proxy attaches them to outbound requests.

ServiceVariableHosts
anthropicANTHROPIC_API_KEYapi.anthropic.com, claude.ai, console.anthropic.com
githubGH_TOKENapi.github.com, copilot.github.com, github.com, raw.githubusercontent.com
googleGOOGLE_API_KEYaiplatform.googleapis.com, generativelanguage.googleapis.com, oauth2.googleapis.com, vertexai.googleapis.com
mistralMISTRAL_API_KEYapi.mistral.ai
nebiusNEBIUS_API_KEYapi.studio.nebius.com, api.tokenfactory.nebius.com
openaiOPENAI_API_KEYapi.openai.com, openai.com
openrouterOPENROUTER_API_KEYopenrouter.ai
xaiXAI_API_KEYapi.x.ai

All eight are optional. Bind the ones you use on the host and leave the rest:

sbx secret set openai

⁠Usage

sbx run --kit docker.io/sbx/shell-credentials:latest docker.io/sbx/shell:latest

Or from a git URL targeting this repo:

sbx run --kit "git+https://github.com/docker/sbx-kits-contrib.git#dir=shell-credentials" docker.io/sbx/shell:latest

⁠What it does not compose with

A credential has one owner across a composed set, so this kit refuses to resolve beside any kit declaring one of the same services at runtime. That is nearly every agent kit here: claude and claude-mixin own anthropic, codex owns openai, copilot owns github, and so on. The error names the service and both kits.

That is the expected outcome rather than a limitation to work around. An agent that owns its credential does not need this kit; this kit is for a sandbox with no agent in it, or one whose agent you installed yourself.

⁠Variables

GH_TOKEN is declared without being populated: nothing in the container holds the token, and gh and git see the variable unset. The other seven are proxy-managed, so their variables carry a sentinel in the container and the proxy swaps the real value in at request time.

On github.com the token is sent as Basic auth with the username x-access-token, because git's smart-HTTP transport rejects Bearer. The other GitHub hosts take Bearer.