Skip to content
Development
Command

/sandbox-shell

Open an interactive shell inside a running sandbox box at /work/repo. Read-only root, non-root user, no host-FS access — explore the untrusted code interactively, then exit.

From plugin
codearbiter
15338 skills20 agents38 commands
> /plugin marketplace add arbiterForge/codeArbiter

Command definition

sandbox-shell.md
description: Open an interactive shell inside a running sandbox box at /work/repo. Read-only root, non-root user, no host-FS access — explore the untrusted code interactively, then exit.
argument-hint: "<sandbox id>"

/ca-sandbox:sandbox-shell — interactive shell in the box

Drop into a shell inside a running sandbox to poke at the code by hand. The shell lands at `/work/repo` as a non-root user, on a read-only root filesystem, with the same structural isolation the box was started under — nothing you do in the shell can reach the host filesystem.

This is the interactive sibling of `/ca-sandbox:sandbox-exec`: use the shell to browse and experiment, use exec for a single scripted command with a captured JSON result.

Flow

1. **Resolve the box** — find the running container for the given sandbox id (labeled `ca.sandbox=1`). STOP if no such box is running. 2. **Attach a shell** — `docker exec -it <id> sh` (or the box's shell) at `/work/repo`, inheriting the container's non-root user and read-only root. 3. **Exit cleanly** — leaving the shell returns to the host; the box keeps running until `/ca-sandbox:sandbox-destroy`.

Routes to

`sandbox-lifecycle` (`${CLAUDE_PLUGIN_ROOT}/skills/sandbox-lifecycle/SKILL.md`) — Phase 4 (interact). The shell attaches through the same isolation the run established; it introduces no new mount, socket, or privilege.

When NOT to use

  • A single scripted command with a captured exit code / JSON result → `/ca-sandbox:sandbox-exec`.
  • Pulling a file out to the host → `/ca-sandbox:sandbox-cp`.
  • No box exists yet → `/ca-sandbox:sandbox`.

Hard gate

  • MUST attach only to a running `ca.sandbox=1`-labeled container; MUST NOT create or mount anything new.
  • MUST NOT re-introduce a host bind, a docker-socket mount, or any dropped privilege when attaching.
  • The shell runs as the container's non-root user on the read-only root — MUST NOT elevate to root or

remount the root writable.

  • MUST NOT copy host files into the box via the shell session; egress and ingress remain host-initiated

`docker cp` (out only), handled by `/ca-sandbox:sandbox-cp`.

Read more
@arbiterforge
Ships withcodearbiter

Open-source governance and hard gates for AI coding agents across Claude Code, Codex CLI, and Pi.

15356 skills20 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
153
Star history of arbiterForge/codeArbiter on GitHub, a chart by star-history.com

Other commands on codearbiter.

add-dep

add-dep

Command

Vet a new or changed third-party dependency for license, provenance, and supply-chain risk before any install runs.

audit

audit

Command

Assemble the governance record for a range — commits, overrides, ADRs, sprint auto-decisions, open questions, checkpoint findings…

chore

chore

Command

Sanctioned lane for non-behavioral work — docs-only edits, dependency bumps, reverts. Type-scaled gates; no TDD demanded of prose.

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command