fix: per-agent sandbox overrides
This commit is contained in:
@@ -168,4 +168,4 @@ Starting with v2026.1.6, each agent can have its own sandbox and tool restrictio
|
||||
- **Resource control**: Sandbox specific agents while keeping others on host
|
||||
- **Flexible policies**: Different permissions per agent
|
||||
|
||||
See [Multi-Agent Sandbox & Tools](/docs/multi-agent-sandbox-tools) for detailed examples.
|
||||
See [Multi-Agent Sandbox & Tools](/multi-agent-sandbox-tools) for detailed examples.
|
||||
|
||||
@@ -336,8 +336,10 @@ Run multiple isolated agents (separate workspace, `agentDir`, sessions) inside o
|
||||
- `model`: per-agent default model (provider/model), overrides `agent.model` for that agent.
|
||||
- `sandbox`: per-agent sandbox config (overrides `agent.sandbox`).
|
||||
- `mode`: `"off"` | `"non-main"` | `"all"`
|
||||
- `workspaceAccess`: `"none"` | `"ro"` | `"rw"`
|
||||
- `scope`: `"session"` | `"agent"` | `"shared"`
|
||||
- `workspaceRoot`: custom sandbox workspace root
|
||||
- `tools`: per-agent sandbox tool policy (deny wins; overrides `agent.sandbox.tools`)
|
||||
- `tools`: per-agent tool restrictions (applied before sandbox tool policy).
|
||||
- `allow`: array of allowed tool names
|
||||
- `deny`: array of denied tool names (deny wins)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## Overview
|
||||
|
||||
Each agent in a multi-agent setup can now have its own:
|
||||
- **Sandbox configuration** (`mode`, `scope`, `workspaceRoot`)
|
||||
- **Sandbox configuration** (`mode`, `scope`, `workspaceRoot`, `workspaceAccess`, `tools`)
|
||||
- **Tool restrictions** (`allow`, `deny`)
|
||||
|
||||
This allows you to run multiple agents with different security profiles:
|
||||
@@ -141,9 +141,10 @@ Agent-specific settings override global:
|
||||
routing.agents[id].sandbox.mode > agent.sandbox.mode
|
||||
routing.agents[id].sandbox.scope > agent.sandbox.scope
|
||||
routing.agents[id].sandbox.workspaceRoot > agent.sandbox.workspaceRoot
|
||||
routing.agents[id].sandbox.workspaceAccess > agent.sandbox.workspaceAccess
|
||||
```
|
||||
|
||||
**Note:** `docker`, `browser`, `tools`, and `prune` settings from `agent.sandbox` are still **global** and apply to all sandboxed agents.
|
||||
**Note:** `docker`, `browser`, and `prune` settings from `agent.sandbox` are still **global** and apply to all sandboxed agents.
|
||||
|
||||
### Tool Restrictions
|
||||
The filtering order is:
|
||||
@@ -153,6 +154,7 @@ The filtering order is:
|
||||
4. **Subagent tool policy** (if applicable)
|
||||
|
||||
Each level can further restrict tools, but cannot grant back denied tools from earlier levels.
|
||||
If `routing.agents[id].sandbox.tools` is set, it replaces `agent.sandbox.tools` for that agent.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user