Skip to content

Delegation

Delegation controls which teams can add resources and whether projects can extend team configurations.

Define which teams can add plugins and MCP servers:

{
"delegation": {
"teams": {
"allow_additional_plugins": ["*"],
"allow_additional_mcp_servers": ["platform", "data"]
}
}
}
FieldMeaning
["*"]All teams can add this resource type
["team1", "team2"]Only listed teams can add
[] or missingNo team can add this resource type
{
"delegation": {
"teams": {
"allow_additional_plugins": ["platform"],
"allow_additional_mcp_servers": []
}
}
}

Only the platform team can add plugins. No team can add MCP servers.

{
"delegation": {
"teams": {
"allow_additional_plugins": ["*"],
"allow_additional_mcp_servers": ["*"]
}
}
}

All teams can add both plugins and MCP servers.

Each team profile controls whether projects can add resources:

{
"profiles": {
"backend": {
"delegation": {
"allow_project_overrides": true,
"allow_additional_plugins": ["project-*", "team-*"]
}
},
"security": {
"delegation": {
"allow_project_overrides": false
}
}
}
}
ValueEffect
trueProjects can use .scc.yaml to add resources
falseProjects cannot add anything beyond team config

Patterns for what plugins projects can add:

{
"delegation": {
"allow_additional_plugins": ["project-*", "linter-*"]
}
}

Projects can only add plugins matching these patterns.

A project can only add a resource if:

  1. The organization has delegated that resource type to the team
  2. The team has allow_project_overrides: true
  3. The resource matches the team’s allow_additional_plugins patterns (if specified)
  4. The resource doesn’t match any security block
Organization delegates "plugins" to team "backend"
Team "backend" has allow_project_overrides: true
Team "backend" has allow_additional_plugins: ["project-*"]
Project adds "project-linter" in .scc.yaml
"project-linter" matches "project-*" pattern
"project-linter" is not in blocked_plugins
✓ Addition allowed

When a resource is denied, SCC tracks the reason:

Terminal window
scc config explain

Output:

denied_additions:
- some-mcp-server (requested_by: project, reason: team not delegated for MCP)
- custom-plugin (requested_by: project, reason: team disallows project overrides)
{
"delegation": {
"teams": {
"allow_additional_plugins": ["*"],
"allow_additional_mcp_servers": ["platform", "data"]
}
},
"profiles": {
"backend": {
"description": "Backend team - flexible",
"delegation": {
"allow_project_overrides": true,
"allow_additional_plugins": ["*"]
}
},
"frontend": {
"description": "Frontend team - moderate",
"delegation": {
"allow_project_overrides": true,
"allow_additional_plugins": ["react-*", "vue-*", "angular-*"]
}
},
"security": {
"description": "Security team - locked down",
"delegation": {
"allow_project_overrides": false
}
},
"platform": {
"description": "Platform team - can add MCP servers",
"delegation": {
"allow_project_overrides": true
}
}
}
}

For urgent needs, developers can use local overrides:

Terminal window
scc unblock some-plugin --ttl 8h --reason "Testing integration"

This creates a time-limited exception. See Exceptions for details.