Skip to content

Feature Request: Path-based argument filtering in exec allowlist #48452

@boardroom-ttrpg

Description

@boardroom-ttrpg

Feature Request

Summary

Add support for path/argument-based filtering in the exec allowlist, similar to Claude Code's Bash(command:path*) permission syntax.

Current Behavior

The exec allowlist only matches on the binary path:

{ "pattern": "/bin/cat" }

This allows or blocks a binary entirely — there is no way to allow a binary globally but deny it for specific file path arguments.

Desired Behavior

Support optional argument/path patterns in allowlist entries, for example:

{ "pattern": "/bin/cat", "denyArgs": ["/Users/finite/.openclaw/audit-mount/*"] }

Or a deny-list variant:

{
  "denyExec": [
    { "binary": "/bin/cat", "argPattern": "/Users/finite/.openclaw/audit-mount/**" },
    { "binary": "/bin/ls",  "argPattern": "/Users/finite/.openclaw/audit-mount/**" }
  ]
}

Use Case

Multi-agent setups where one agent (@Audit) has an isolated encrypted workspace that other agents (HAL, sub-agents) should not be able to read via shell commands. Currently the only enforcement options are:

  • Behavioral rules (LLM-level, not enforced)
  • Docker sandboxing (too restrictive — breaks vault and host access for the main agent)
  • Separate macOS users (complex setup)

Path-based argument filtering in the exec allowlist would allow fine-grained per-path exec restrictions without requiring Docker sandboxing or OS-level user separation.

Related

  • Exec approvals docs: per-agent allowlists currently only support binary glob patterns
  • safeBins is the closest existing feature (stdin-only restriction), but it is global and not path-specific

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions