The trust levels
Studio has three trust levels. They are the primary lever you have over agent behavior.| Trust level | Approval behavior | When to use |
|---|---|---|
| Manual | Every tool call requires explicit approval, regardless of class. | Unfamiliar device, learning the agent’s habits, regulated change windows. |
| Supervised (default) | Read-only operations run freely. Tools classified as moderate, dangerous, or unknown require approval. | Day-to-day operations where the operator wants speed for safe calls and a gate for everything else. |
| Autonomous | Auto-approves tools the policy permits, removes turn budgets, runs sequences without per-call prompts. | Controlled environments — labs, scoped procedures, automation against a target you have already characterized. |
Tool classification
Every tool that Copilot can call is classified before it runs. The class determines whether the trust level alone is enough to authorize the call.| Class | Examples | Behavior |
|---|---|---|
| Read-only | show, display, ping, traceroute, inventory list, log fetch, SNMP get, banner scan. | Permitted in any trust level. |
| Moderate | Entering config mode, single-line interface change, ACL edit, saving configuration, connector write to a non-destructive endpoint. | Approval required in Supervised; auto-approved in Autonomous if the policy allows. |
| Dangerous | reload, erase, format, clear ip route *, force-delete, factory-reset, BGP clear, anything that takes the device offline or destroys state. | Approval required in Supervised and Autonomous. Cannot be auto-approved by trust level alone. |
| Unknown | A tool the classifier cannot place with confidence (rare, usually a custom connector tool with a generic verb). | Treated as Moderate-or-worse. Never auto-approved without explicit policy. |
The approval gate
When a tool call requires approval, Copilot pauses and renders a card the operator can read. The card includes:- The tool name and the domain it belongs to — so you know whether it’s a terminal command, a connector call, a write to your inventory, or a destructive operation on a device.
- The exact arguments — including the destination (host, connector endpoint, file path), the payload (command text, request body), and any parameters the model is filling in.
- The risk class — Read-only / Moderate / Dangerous / Unknown.
- The credential reference that would be used, if any — by name only, never the secret.
- A diff or preview for staged commands, so you can see the change in human-readable form before approving.
- Approve, reject, or modify as actions. Modify lets you edit the arguments before approving.
Streaming and steering
While Copilot is running, you watch progress in real time. The right-side panel shows:- The current model thinking state (when extended thinking is enabled).
- Each tool call as it streams (name, arguments, partial output as the call returns).
- Token and turn usage against the run’s budget.
- The classification and approval state of any pending tool.
- Sub-agent activity when a delegated agent is running.
| Action | What it does |
|---|---|
| Send a steering message | New text from you joins the conversation at the next natural break. The agent picks it up before continuing. |
| Queue a steering message | A steering message that fires at the next tool boundary. Useful when you want to redirect the agent’s plan without interrupting an in-flight call. |
| Stop the run | Hard stop. The current tool finishes; nothing further runs. The transcript is preserved. |
Sub-agents inherit the gate
Copilot can delegate to specialist sub-agents — researcher, executor, terminal-ops, browser-ops, network discovery, procedure authoring. A sub-agent runs in the same conversation, with the same trust level, and the same approval policy. A delegation cannot escalate beyond what the parent’s posture allows. This matters because it would be easy to design an architecture where a sub-agent gets its own scope, and a Read-only researcher could quietly call a Dangerous executor without the parent’s gate. Studio’s design is the opposite: the gate sits at the agentic loop, every tool call from any agent goes through it, no exceptions.Just-in-time credentials
When a tool call requires a credential — to authenticate to an SSH host, to call a connector — the credential is requested through the vault, not through the LLM. The flow is:Tool indicates a credential reference
The tool’s argument schema includes a
credentialRef (a Keychain entry ID), not the secret itself.Approval card shows the reference
The operator sees “will authenticate to
core-router-1 using Keychain entry core-fleet-admin” — by name, never by secret.On approval, the vault unwraps
The Go sidecar requests the credential from the vault, unwraps the per-record envelope, and uses the secret in the protocol library.
{{password}} into a prompt that goes to the model, that plaintext does enter the model context. This is documented under known limits and the AI-context scrubbing roadmap.
Pre- and post-tool hooks
Studio supports hooks that run before and after every tool call. Hooks are an extensibility point, not a default behavior, and they exist for organizations that want to:- Log every tool call to a SIEM.
- Block specific tool argument patterns regardless of class.
- Reject calls that target hosts outside an allowlist.
- Re-classify a tool dynamically based on the argument (for example, treating
interface gigabitethernet0/0/0as Dangerous on the management interface).
Choosing the right posture
A practical mapping for the kinds of work Studio gets used for:| Situation | Trust level | Notes |
|---|---|---|
| Investigating a production incident on a device you don’t fully know. | Manual or Supervised. | Read-only checks first; switch to Supervised once you’ve characterised the device. |
| Routine diagnostic on a known host. | Supervised. | The approval prompts catch the rare moderate operation; everything else is fluid. |
| Drafting a runbook from a successful conversation. | Supervised + Planning mode. | Planning produces clean sequences; supervision catches the few moderate steps. |
| Running a vetted procedure against a labelled host. | Supervised or Autonomous, depending on the procedure’s allowed_tools. | Procedures restrict tools at run time; Autonomous on top is appropriate when the runbook itself is trusted. |
| Bulk operations against a fleet inside a maintenance window. | Autonomous, scoped procedure, narrow allowed_tools. | Approval per device would be operationally unworkable. The scope is the safety mechanism. |
What this is not
The HITL surface is not a substitute for any of the following:- A change-management process. Approval at the agent gate is not approval at the CAB.
- A separation-of-duties review. One person approving their own approvals is one person doing both.
- An audit log. The gate produces evidence; the audit page describes what’s recorded.
- A guarantee that the agent does not surprise you. The gate makes surprises observable, not impossible.
Related
AI provider and data flow
What happens to the data the gate is approving — where it goes for inference and what comes back.
Audit and telemetry
What’s recorded about every approval, every tool call, and every steering interruption.