Project Configuration
You can add a .scc.yaml file to your repository root to customize SCC settings for that specific project.
When to Use Project Config
Section titled “When to Use Project Config”Use .scc.yaml when you need:
- Project-specific plugins
- Custom session timeouts
- Entry directory overrides
- Team pinning for the project
File Location
Section titled “File Location”Directorymy-project/
- .scc.yaml ← Project config
Directory.git/
- …
Directorysrc/
- …
- package.json
Basic Structure
Section titled “Basic Structure”# Add plugins specific to this projectadditional_plugins: - "eslint-plugin@internal" - "project-linter@team-marketplace"
# Override session settingssession: timeout_hours: 4
# Pin this project to a specific teamteam: backendAvailable Options
Section titled “Available Options”Additional Plugins
Section titled “Additional Plugins”Add plugins beyond what your team provides:
additional_plugins: - "plugin-name@marketplace" - "another-plugin@marketplace"Session Settings
Section titled “Session Settings”Override session behavior:
session: timeout_hours: 4 # Override team default auto_resume: false # Disable auto-resumeTeam Pinning
Section titled “Team Pinning”Force a specific team profile for this project:
team: securityWhen developers open this project with scc, it will use the security team’s configuration regardless of their default team.
Entry Directory
Section titled “Entry Directory”Specify a different entry point:
entry_directory: ./packages/frontendClaude Code will start in this directory instead of the project root.
Example Configurations
Section titled “Example Configurations”Monorepo Frontend Package
Section titled “Monorepo Frontend Package”# Pin to frontend teamteam: frontend
# Start in the frontend packageentry_directory: ./packages/frontend
# Add React-specific toolingadditional_plugins: - "react-tools@frontend-marketplace"
session: timeout_hours: 8Security-Sensitive Project
Section titled “Security-Sensitive Project”# Force security team config (strictest settings)team: security
# Short sessions for sensitive worksession: timeout_hours: 2 auto_resume: falseData Science Project
Section titled “Data Science Project”# Use ML team profileteam: ml-team
# Longer sessions for training runssession: timeout_hours: 24
# Add data science pluginsadditional_plugins: - "jupyter-helper@ml-marketplace" - "pandas-tools@ml-marketplace"Validation
Section titled “Validation”Validate your project config:
scc config validateThis checks:
- YAML syntax is correct
- Referenced plugins are allowed
- Team exists (if pinned)
- All settings are recognized
Seeing Effective Config
Section titled “Seeing Effective Config”To see how project config combines with team and org settings:
scc config explainOutput shows the source of each setting:
Effective configuration for ~/project:
plugins: - scc-safety-net (from: team/backend) - code-formatter (from: team/backend) - eslint-plugin (from: project/.scc.yaml) ← Project addition
session: timeout_hours: 4 (from: project/.scc.yaml) ← Project override auto_resume: true (from: team/backend)
network_policy: corp-proxy-only (from: org/defaults)What You Cannot Override
Section titled “What You Cannot Override”Project config cannot:
- Remove team default plugins
- Unblock organization-blocked plugins
- Override network policy (if org restricts it)
- Bypass security settings
Git Ignore Considerations
Section titled “Git Ignore Considerations”The .scc.yaml file should typically be committed to your repository so all team members get the same project settings.
However, if you have personal overrides, you can create a local file:
# Add to .git/info/exclude (not committed).scc.local.yamlPersonal Profiles (Local)
Section titled “Personal Profiles (Local)”If you want your own plugins or MCP servers without committing anything to the repo, use personal profiles instead of .scc.local.yaml.
scc profile savescc profile applyPersonal profiles live outside the repo and can be synced across machines. See Personal Profiles for details.
Troubleshooting
Section titled “Troubleshooting””Plugin not allowed”
Section titled “”Plugin not allowed””Your team’s delegation rules don’t permit that plugin. Check with your team lead.
scc config explain --field delegation”Team not found”
Section titled “”Team not found””The pinned team doesn’t exist in your org config. Verify the team name:
scc teamChanges not taking effect
Section titled “Changes not taking effect”Project config is read at session start. Restart your session:
scc stopscc start --fresh