A Docker-based sandbox environment for vibe coding with AI CLI tools. Supports Claude Code CLI (Anthropic) and/or OpenAI Codex CLI — mount your project and credentials, and start coding.
- Ubuntu (latest)
- Node.js (LTS) + npm
- Go 1.25.4
- Claude Code CLI —
claude - OpenAI Codex CLI —
codex
- Docker installed and running
- API credentials for the CLI(s) you intend to use:
- Claude Code:
~/.claude/directory (populated after runningclaude login) - OpenAI Codex:
~/.codex/auth.json
- Claude Code:
docker build -t stefanoschrs/vibe-sandbox .Or pull the pre-built image from Docker Hub:
docker pull stefanoschrs/vibe-sandboxIn all examples below $(pwd) is the project directory you want to work in. Change it to an absolute path if needed.
docker run -ti --rm \
-v ~/.claude:/root/.claude \
-v $(pwd):/app \
-w /app \
stefanoschrs/vibe-sandboxInside the container, run:
claudedocker run -ti --rm \
-v ~/.codex/auth.json:/root/.codex/auth.json \
-v $(pwd):/app \
-w /app \
stefanoschrs/vibe-sandboxInside the container, run:
codexdocker run -ti --rm \
-v ~/.claude:/root/.claude \
-v ~/.codex/auth.json:/root/.codex/auth.json \
-v $(pwd):/app \
-w /app \
stefanoschrs/vibe-sandboxIf you haven't authenticated yet, run the container without mounting credentials and log in interactively. The credentials will be stored inside the container (not persisted). Mount the credential paths on subsequent runs.
docker run -ti --rm stefanoschrs/vibe-sandbox claude loginThen copy ~/.claude out of the container, or use docker cp.
docker run -ti --rm stefanoschrs/vibe-sandbox codex loginThen copy ~/.codex/auth.json out of the container.
MIT