Skip to main content

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

Project description

SCC - Sandboxed Claude CLI

PyPI Python License: MIT Contributions Welcome

Quick Start · Commands · Configuration · Architecture · Contributing


Run Claude Code in Docker sandboxes with organization-managed team profiles, marketplace integration, and git worktree support.

SCC isolates AI execution in containers, enforces branch safety, and lets organizations distribute Claude plugins through a central configuration. Developers get standardized setups without manual configuration.

Installation

pip install scc-cli

Or with pipx:

pipx install scc-cli

Requires Python 3.10+, Docker Desktop 4.50+, and Git 2.30+.

Quick Start

# Run setup wizard
scc setup

# Start Claude Code in a sandbox
scc start ~/projects/api-service --team platform

# Check system health
scc doctor

Usage

Starting sessions

# Interactive mode
scc

# With team profile
scc start ~/projects/my-repo --team platform

# Continue most recent session
scc start --continue

# Offline mode (cache only)
scc start ~/projects/my-repo --offline

Parallel development with worktrees

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

# With dependency installation
scc worktree ~/projects/api-service feature-x --install-deps

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

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

Managing configuration

# List team profiles
scc teams

# Refresh from remote
scc teams --sync

# Check for CLI and config updates
scc update

# Force update check
scc update --force

# List recent sessions
scc sessions

Commands

Command Description
scc Interactive mode
scc setup Configure organization connection
scc start <path> Start Claude Code in sandbox
scc stop Stop running sandbox(es)
scc doctor Check prerequisites
scc update Check for CLI and config updates
scc teams List team profiles
scc sessions List recent sessions
scc list List running containers
scc worktree <repo> <name> Create git worktree
scc worktrees <repo> List worktrees
scc cleanup <repo> <name> Remove worktree
scc config View or edit configuration

Run scc <command> --help for options.

Configuration

Setup modes

Organization mode connects to a central config:

scc setup
# Enter URL when prompted: https://gitlab.example.org/devops/scc-config.json

Standalone mode runs without organization config:

scc setup --standalone

User config

Located at ~/.config/scc/config.json:

{
  "organization_source": {
    "url": "https://gitlab.example.org/devops/scc-config.json",
    "auth": "env:GITLAB_TOKEN"
  },
  "selected_profile": "platform",
  "hooks": { "enabled": true }
}

Edit with scc config --edit.

Authentication methods

Method Syntax
Environment variable "auth": "env:GITLAB_TOKEN"
Command "auth": "command:op read op://Dev/token"
None (public) "auth": null

File locations

~/.config/scc/           # Configuration
├── config.json          # Org URL, team, preferences

~/.cache/scc/            # Cache (safe to delete)
├── org_config.json      # Remote config cache
└── cache_meta.json      # ETags, timestamps

Troubleshooting

Run scc doctor to diagnose issues.

Problem Solution
Docker not reachable Start Docker Desktop
Organization config fetch failed Check URL and token
Slow file operations (WSL2) Move project to ~/projects, not /mnt/c/
Permission denied (Linux) sudo usermod -aG docker $USER

WSL2

Run inside WSL2, not Windows. Keep projects in the Linux filesystem for acceptable performance.

Development

# Install dependencies
uv sync

# Run tests
uv run pytest

# Run linter
uv run ruff check --fix

See CLAUDE.md for development methodology.

License

MIT

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.1.0.tar.gz (123.2 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.1.0-py3-none-any.whl (85.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scc_cli-1.1.0.tar.gz
  • Upload date:
  • Size: 123.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scc_cli-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7bc48f68c1532734d377ed0d8e8e8bef51ea55dffc3ef888a9fb3fc635e14439
MD5 8c3182991ebe711bb3944277a5d56392
BLAKE2b-256 0c3308b553177b93a65338b9ac8afff3de4c9be6982cdcaf12f2b12a6b471f25

See more details on using hashes here.

Provenance

The following attestation bundles were made for scc_cli-1.1.0.tar.gz:

Publisher: python-publish.yml on CCimen/scc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: scc_cli-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 85.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scc_cli-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 95fd7c7f1cf7285f509512bba16c7bb732f023f7090ba80ed2ca6b9784d1a6eb
MD5 c1a4cef054ecdb487394d139440af5df
BLAKE2b-256 a21b4350dc0891892fca0423e7f73e78f366c7126b958840c9e2b6d91cddadaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for scc_cli-1.1.0-py3-none-any.whl:

Publisher: python-publish.yml on CCimen/scc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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