Skip to main content

Run Claude Code in Docker sandboxes with team configs and git worktree support

Project description

SCC - Sandboxed Claude CLI

Run Claude Code in Docker sandboxes with team-based configuration and git worktree support.

Why this exists

Our teams needed a way to use Claude Code that was:

  • Isolated: AI runs in containers, not directly on developer machines
  • Standardized: Teams share configurations, not tribal knowledge
  • Safe: Protected branches stay protected, even when AI suggests changes

Prerequisites

  • Python 3.10+
  • Docker Desktop 4.50+ (for sandbox support)
  • Git 2.30+

Run scc doctor to verify your setup.

Installation

pip install scc-cli

Or with pipx for isolation:

pipx install scc-cli

Quick start

# First run triggers a setup wizard
scc

# Or start directly with a workspace
scc start ~/projects/api-service --team java-wso2

# Check system health
scc doctor

This runs Claude Code in a Docker sandbox with your repo mounted. You log in once; credentials persist across sessions.

Common workflows

Starting a session

# Interactive mode - prompts for team and workspace
scc

# Direct mode with team profile
scc start ~/projects/my-repo --team python-fastapi

# Continue last Claude conversation
scc start ~/projects/my-repo --continue

Parallel development with worktrees

# Create isolated workspace for a feature
scc worktree ~/projects/api-service feature-auth
# Creates: ~/projects/api-service-worktrees/feature-auth/
# Branch: claude/feature-auth

# Work on urgent fix in parallel
scc worktree ~/projects/api-service hotfix-123

# List worktrees
scc worktrees ~/projects/api-service

# Clean up when done
scc cleanup ~/projects/api-service feature-auth

Managing teams and sessions

# List team profiles
scc teams

# Show team details
scc teams java-wso2

# Sync profiles from GitHub
scc teams --sync

# List recent sessions
scc sessions

# List running sandboxes
scc list

Commands

Command Description
scc Interactive mode with wizard
scc start <path> Start Claude Code in a sandbox
scc stop Stop running sandbox(es)
scc doctor Check prerequisites and system health
scc teams List, view, or sync team profiles
scc sessions List recent sessions
scc list List running Docker sandboxes
scc worktree <repo> <name> Create git worktree for parallel work
scc worktrees <repo> List worktrees for a repository
scc cleanup <repo> <name> Remove a worktree
scc config View or edit configuration
scc setup Run setup wizard
scc update Check for CLI updates
scc statusline Configure status line with git info

Run scc <command> --help for detailed options.

Configuration

Config lives in ~/.config/scc-cli/config.json:

{
  "workspace_base": "~/projects",
  "profiles": {
    "java-wso2": {
      "description": "Java/Spring Boot/WSO2",
      "tools": ["java", "maven"]
    }
  }
}

Edit with scc config --edit.

Exit codes

Code Meaning
0 Success
2 Invalid usage
3 Missing prerequisites
4 External tool failure
5 Internal error

WSL2 users

Run inside WSL2, not Windows. Keep projects in the Linux filesystem (~/projects) rather than /mnt/c/... for acceptable performance. The CLI warns when it detects slow paths.

Troubleshooting

Problem Solution
"Docker not reachable" Start Docker Desktop
"Docker version too old" Update to Docker Desktop 4.50+
Slow file operations (WSL2) Move project to ~/projects, not /mnt/c/
Permission denied on Linux Add user to docker group: sudo usermod -aG docker $USER

Run scc doctor to diagnose most issues.

Cleanup

# Stop all running sandboxes
scc stop

# Stop a specific sandbox
scc stop claude-sandbox-2025...

# List running sandboxes
scc list

Documentation

License

MIT License. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scc_cli-1.0.0.tar.gz (56.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scc_cli-1.0.0-py3-none-any.whl (56.7 kB view details)

Uploaded Python 3

File details

Details for the file scc_cli-1.0.0.tar.gz.

File metadata

  • Download URL: scc_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for scc_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d5e375f8667dc5f158e7b5190f56be717a5b754b13e613f91b9e37b635fe3c46
MD5 104dd155a1308ac13cf038d9865cd66c
BLAKE2b-256 b256fc475795edf7c99e80a5210084d5c818a24693bdc71e29b4bc1ca2c8e42a

See more details on using hashes here.

File details

Details for the file scc_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: scc_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 56.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for scc_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5b20d65e71d82f67b478431fd1aceed3a7caf0caa06b6d965f8b8758ccd2e86
MD5 841c692e10c7e5eaf2de28ab73d527ec
BLAKE2b-256 a017ff1b249a29e9af2675215224855929aaeef8246d9a7affaf27b8b108ae8a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page