Skip to content

Core Concepts

Before diving deeper into SCC, it’s helpful to understand the key concepts that make it work.

A session is a running Claude Code environment inside a Docker container. Each session:

  • Is tied to a specific workspace (git repository)
  • Uses a specific team profile
  • Can be named for easy identification
  • Can be resumed after stopping
Terminal window
# Start a new session
scc start ~/project
# Resume the most recent session
scc start --resume
# Pick from recent sessions interactively
scc start --select
Session Lifecycle Flow
Session Lifecycle Flow

A sandbox is the Docker container that isolates Claude Code from your host system. The sandbox:

  • Has access only to mounted directories (your project)
  • Cannot access sensitive files like ~/.ssh or ~/.aws
  • Has network access controlled by your org’s policy
  • Uses a specific base Docker image

A team profile defines the configuration for a group of users. Each profile includes:

SettingDescription
pluginsClaude Code plugins enabled for this team
mcp_serversMCP servers available to Claude
network_policyNetwork access rules (unrestricted, corp-proxy, isolated)
sessionTimeout and auto-resume settings

Profiles are defined in your organization’s config and can be:

  • Inline: Defined directly in the org config file
  • Federated: Defined in a separate team-managed repository
Terminal window
# List available teams/profiles
scc team
# Switch to a different team
scc team switch
# See current team
scc team current
# See team configuration
scc team info <team-name>

A personal profile captures your own Claude Code preferences for a specific project. It sits between team config and workspace overrides so you can add your own plugins or MCP servers without changing org or repo settings.

Terminal window
# Save current workspace settings as a personal profile
scc profile save
# Apply personal profile on demand
scc profile apply

Learn more in Personal Profiles.

A worktree is a git feature that lets you check out multiple branches simultaneously in different directories. SCC uses worktrees to:

  • Isolate AI experiments from your main branch
  • Allow parallel development on multiple features
  • Keep your main branch clean
Terminal window
# Create a worktree for a new feature
scc worktree create ~/project feature-auth
# Creates: ~/project/.worktrees/feature-auth
# On branch: scc/feature-auth
# List all worktrees
scc worktree
# Enter a worktree (starts a subshell)
scc worktree enter feature-auth
# Switch between worktrees
scc worktree switch feature-auth

SCC uses layered configuration with personal profiles:

Configuration Layers
Configuration Layers

Order of precedence:

Organization → Team → Personal Profile → Workspace overrides

Plugins extend Claude Code with additional capabilities. SCC manages plugins through:

  • Marketplaces: Repositories of approved plugins
  • Allowlists: Patterns defining which plugins are permitted
  • Blocklists: Patterns defining which plugins are forbidden

The most important official plugin is scc-safety-net, which blocks destructive git commands.

MCP (Model Context Protocol) servers provide Claude with access to external tools and data. Types include:

TypeDescriptionExample
HTTPRemote API endpointscontext7, shadcn
SSEServer-Sent Events streamingReal-time data feeds
StdioLocal subprocess serversPlaywright, custom tools
TermDefinition
SessionA running Claude Code environment in a container
SandboxThe Docker container providing isolation
ProfileTeam configuration (plugins, servers, policies)
WorktreeIsolated git checkout for parallel development
MarketplaceRepository of approved plugins
Safety NetPlugin that blocks destructive git commands