Skip to content

Feature Request: Domain wildcards and per-agent permission scoping #16628

@yogsototh

Description

@yogsototh

Feature Request

Problem

When working with agents that need to fetch from dynamic subdomains (e.g., GitHub Actions logs stored on Azure blob storage), users must manually enumerate every possible subdomain. This is tedious and error-prone.

Additionally, different agents/tasks have different trust levels, but there is no way to scope permissions to specific agents or task types.

Requested Features

1. Domain Wildcards for WebFetch Permissions

Allow wildcard patterns in domain permissions:

{
  "permissions": {
    "allow": [
      "WebFetch(domain:*.blob.core.windows.net)",
      "WebFetch(domain:*.githubusercontent.com)"
    ]
  }
}

Use case: GitHub Actions stores logs across productionresultssa{1-20}.blob.core.windows.net. Currently requires listing all 20+ domains explicitly.

2. Per-Agent/Task Permission Scoping

Allow permissions to be scoped to specific agents or task contexts:

{
  "permissions": {
    "profiles": {
      "test-fixer": {
        "allow": [
          "WebFetch(domain:*.blob.core.windows.net)",
          "Bash(gh run view:*)"
        ]
      },
      "code-review": {
        "allow": [
          "WebFetch(domain:github.com)",
          "Bash(gh pr view:*)"
        ]
      }
    }
  }
}

Use case: A test-fixer agent needs broad access to CI logs, while a code-review agent only needs PR data. Currently, all permissions are global.

Current Workaround

Manually enumerate all possible subdomains in settings:

"WebFetch(domain:productionresultssa1.blob.core.windows.net)",
"WebFetch(domain:productionresultssa2.blob.core.windows.net)",
// ... repeat 20 times
"WebFetch(domain:productionresultssa20.blob.core.windows.net)"

This is not scalable and does not solve the per-agent scoping issue.

Security Consideration

Domain wildcards could be limited to specific TLDs or require explicit opt-in acknowledgment of the broader access being granted.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions