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.1.tar.gz (145.9 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.1-py3-none-any.whl (86.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scc_cli-1.1.1.tar.gz
  • Upload date:
  • Size: 145.9 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.1.tar.gz
Algorithm Hash digest
SHA256 775f88d7d668a8a8694860d4cccdc2c5b628b9085ca3d60d6b5986ec09869ae9
MD5 8203abef1f79821cfb4cfd172ff45ca1
BLAKE2b-256 d6d541b383cb288700e3f94106cbd065e7ee7bdd2414564859ffbfcf64b95828

See more details on using hashes here.

Provenance

The following attestation bundles were made for scc_cli-1.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: scc_cli-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 86.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 298a16969be2a5a65cb2fa023fa760d1a10a7291a4bed96ff9bd9bf012f94b8c
MD5 d8091e1eea2ea0a595d36a0655fc91aa
BLAKE2b-256 6790729addf7c28f0cbb75ec53ab11e8dfe4cf20e8ff3ebb2e12a6a1654ea1b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for scc_cli-1.1.1-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