Documentation Research & comparisons

VS Code agent controls

A sourced assessment of VS Code and Copilot controls, overlap, and implications for Cella.

Research · checked 2026-10-10

On this page

Research date: 2026-10-10. Baseline: VS Code 1.141, released 2026-10-07. This is a dated product comparison and engineering assessment, not a Cella specification or a claim of completed integration. The assessment uses first-party Microsoft, VS Code, and GitHub sources. VS Code 1.141 release notes

VS Code already offers substantial agent control. Cella cannot credibly differentiate through approval prompts, sandboxing, multiple agents, session history, or keeping some credentials outside a sandbox alone. The useful question is whether Cella can deliver an independently enforced contract for private repository inputs, typed external Effects, secret-bearing Service Cells, generation-bound Channels, and verifiable delivery.

That remains a product thesis. Cella's current implementation does not yet deliver its full protected Agent Cell, Service Cell, Policy Engine, or Gateway Effect workflow. Compare working VS Code features against Cella's implementation today, and treat Cella's approved contracts as requirements to prove. Current implementation boundary, feature milestones

The Cella implementation snapshot below was refreshed against the 2026-10-11 milestones. Its partial local slices do not establish an accepted complete governed workflow; the external-product research remains dated 2026-10-10.

First distinguish the execution targets

“VS Code agent access” is not one permission system. A model selection is also not a harness selection.

Target Execution and status What must be checked
Copilot Agent Host, locally, remotely, or in a Dev Container Agent Host settings and effective execution-host policy
Local VS Code extension-host harness in the active workspace Local tools, approvals, hooks, and terminal implementation
Claude Provider harness on the developer machine Claude permission modes and provider-specific hooks
Codex Extension integration; Agent Host integration is Experimental Selected integration and its approval presets
Cloud Provider-managed repository task returning a pull request; third-party cloud agents are Preview Provider environment, repository rules, secrets, and MCP configuration

The current Copilot worktree option uses Allow all. A worktree separates changes; it is not a security boundary. Codex on Agent Host exposes Default Permissions, Auto-Review, and Full Access presets. Copilot sandbox settings must not be assumed to govern Claude or Codex identically. Choose and use an agent harness, updated 2026-10-07

“Background” describes how work continues, not proof of confinement. Agent Host can own sessions independently of their viewer, and can run next to a local, container, or remote workspace. Its adapters retain distinct harness behavior. Agent Host architecture

Verified control surface

This matrix records documented behavior, not results from a penetration test. Preview and Experimental are feature labels, even when their controls appear in a stable editor release.

Area Verified behavior Scope and qualification Primary source
Approvals Manual permissions is the default. Allow all removes prompts. Assisted permissions uses an LLM judge; Autopilot autonomously continues and auto-approves tools. Assisted permissions is Experimental; Advanced Autopilot is Preview. Approval state and sandbox state are separate. Approvals and permissions, 2026-10-07
Command matching Terminal auto-approval rules match commands; a false rule requires approval rather than blocking execution. Parsing is best effort. Command text matching does not constitute containment. Terminal approval limitations
Process confinement Local terminal commands and descendants can be sandboxed. Copilot Agent Host can additionally confine managed MCP and language-server processes. Non-process tools use separate permission checks. Preview on macOS/Linux/WSL2; Windows Experimental. The sandbox is not a VM, user-account boundary, or replacement for endpoint security. Trust and safety, 2026-10-07, approval feature status
Separate MCP sandbox A locally running stdio MCP server can have explicitly configured filesystem and network restrictions. Sandboxed tool calls are auto-approved. macOS/Linux. This per-server configuration is separate from Agent Host-managed MCP sandboxing; it is unavailable on Windows. MCP server sandboxing, 2026-10-07
MCP trust Trusted workspaces can start repository MCP configurations without a separate server trust prompt, including after configuration changes. Restricted mode blocks workspace MCP configuration. Other server sources can require a separate trust decision. Trusting a repository is consequential; server trust and tool approval are distinct controls. MCP server trust
Custom agents Agent definitions select instructions, models, tools, subagents, and handoffs. Tool lists can include built-in, extension, and MCP tools. Organization definitions can be shared. Definitions govern the selected harness's exposed tools; their availability varies by harness. They are not evidence of a separate operating-system boundary. Custom agents, 2026-10-07
Hooks Hooks can intercept tool calls, audit requests, or validate results. Local PreToolUse supports blocking or requesting approval. Hooks are Preview. Copilot SDK, Claude, Codex, and Local have different lifecycle/payload contracts; file compatibility does not imply semantic compatibility. Hooks, 2026-10-07
Enterprise policy Copilot Agent Host supports managed deny/ask/allow rules for Shell, Read, Edit, and Domain, with deny precedence and fresh approval for managed ask rules. Managed sandbox settings can require confinement, prevent bypass, and fail when enforcement is unavailable. Managed sandbox enforcement is Preview. The GitHub reference specifies Agent Host support from 1.138 and stronger session-toggle enforcement from 1.140. This is not universal control over every VS Code harness or terminal. Enterprise managed settings, managed sandbox status
Credential substitution Copilot CLI sandbox processes can receive placeholder credentials. A local HTTPS proxy inserts actual credentials at approved destinations. Git authentication binds the original host, port, and repository path; gh uses defined GitHub hosts. Selected environment variables can also be masked. A documented Copilot CLI feature, not a guarantee for every VS Code tool. Masking is active only with sandboxing enabled. It limits secret exposure, not every possible operation at an authenticated destination. Copilot local sandbox authentication
Agent telemetry Optional OpenTelemetry includes session/model/tool/hook spans, metrics, and selected parameters/results. Content capture and OTel emission default off; content capture can include sensitive data. Debug views, telemetry export, and independently verifiable enforcement evidence are different products. OpenTelemetry monitoring, 2026-10-07
Remote sessions Agents window connects to remote Agent Hosts using AHP through SSH or a dev tunnel. Browser clients can monitor/control remote sessions. Remote delegation tools are Experimental. A remote host moves execution; its own permissions still matter. Remote agent sessions, 2026-10-07
Session continuity Agent Host separates session ownership from viewers. AHP synchronizes state across clients and supports reconnect/reconciliation; clients can monitor, approve, cancel, or contribute tools. Open protocol under active development; it standardizes a client-facing session rather than a harness's internal reasoning or enforcement. Agent Host announcement, 2026-08-26, AHP
Cloud delivery controls Copilot cloud agent limits pushing to its assigned branch, respects protections/checks, requires human merge review, and exposes session/audit logs and signed commits. Workflow execution normally requires approval, with configurable exceptions. These are provider-side safeguards, not local terminal prompts. They already overlap Cella's delivery and evidence goals. Copilot cloud-agent risks and mitigations
Cloud secret scope Cloud tasks use ephemeral environments. Agents secrets can be exposed as environment variables; COPILOT_MCP_ values are reserved for MCP servers. Actions, Codespaces, and Dependabot secret stores are separate. Secret masking in logs does not imply the workload cannot access the secret. Cloud-agent secrets and variables
Cloud MCP/network Cloud agent supports local/remote MCP tools; default GitHub MCP authentication is read-only for the current repository, unless configured more broadly. The task firewall does not govern MCP-server connections or setup steps. Remote OAuth MCP support is not currently documented as available. Cloud MCP, resource access and firewall exclusions

Version 1.141 adds automatic continuation of external Copilot conversations and same-machine Codex chat handoff between ChatGPT, Codex CLI, and VS Code. Only one application may send messages to a Codex chat at a time. 1.141 session continuation

Cross-harness handoff is also documented: conversation history and context can accompany a move from Copilot to Claude or Codex. This is broader than reopening a conversation in another viewer, but does not promise that every harness shares tool semantics, permissions, or hidden runtime state. Sessions and handoff, updated 2026-10-07

Copilot Agent Host defaults are part of the comparison

The following settings describe the default Copilot SDK tool implementation in Agent Host, not Local or a custom terminal override. Values can be narrowed by managed policy. Check the effective policy, not only saved preferences.

Setting Documented default
chat.agent.sandbox.enabled off
chat.agent.sandbox.network.allowNetwork true
chat.agent.sandbox.network.allowLocalNetwork false
chat.agent.sandbox.fileSystem.allowDevToolAccess true
chat.agent.sandbox.credentials.authenticategit true
chat.agent.sandbox.credentials.authenticategh true
chat.agent.sandbox.mcpServers / lspServers true, when sandboxing is enabled
chat.agent.sandbox.allowUnsandboxedCommands true, subject to confirmation

Developer-tool access can include credential-bearing configuration/caches. /sandbox policy reports the effective session policy. Linux/WSL2 require bubblewrap and socat; WSL1 is unsupported. Windows needs the applicable September 8, 2026 security update. Windows proxy/hostname/masking configurations require local-network access. Agent Host sandbox configuration, updated 2026-10-07

The GitHub reference additionally warns that Copilot CLI hostname rules and upstream proxies rely on programs honoring proxy settings on Windows; macOS/Linux prevent direct connections that bypass the proxy. Do not advertise identical domain confinement across platforms or infer every Agent Host path from CLI behavior. Managed sandbox network restrictions

A strict managed sandbox baseline combines these controls:

json
{
  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true,
    "allowBypass": false
  }
}

enabled alone can permit session bypass. Unsupported server-managed CLI hosts can decline it unless failIfUnavailable is required. This fragment does not configure all path, network, or credential restrictions. Managed sandbox semantics

What this means for Cella

How an agent gets permission to push a branch

A successful git push crosses three distinct gates:

  1. Tool permission. The selected harness must permit the command. Manual approval, automatic approval, and managed restrictions differ by harness. Approval of a command does not itself supply credentials or repository rights. VS Code approvals
  2. Network and authentication. The execution environment must reach the destination and authenticate. Copilot CLI's documented sandbox can supply placeholder Git credentials while a proxy inserts real authentication at the original HTTPS host, port, and repository path. Other harnesses need their own effective configuration checked. Copilot sandbox authentication
  3. Repository rules. GitHub still applies repository permissions and branch protection, including configured push restrictions and required checks. A local approval cannot override them. Protected branches

Cella's intended delivery path adds an exact typed Effect bound to the selected candidate, repository, branch, policy, approval, and receipt. That contract is still incomplete; it must coexist with GitHub's own rules. This explanation was rechecked against the linked primary sources on 2026-10-11.

The assessments below are inferences and proposed priorities, not measured adoption outcomes or claims that other products cannot implement equivalent contracts.

Existing overlap removes several easy positioning claims

Agent HQ was announced on 2025-10-28 as a unified orchestration/control direction. The 2026-02-04 announcement introduced Claude and Codex integrations in public preview. These announcements establish the direction; use current product docs for today's availability rather than treating every launch promise as shipped. Agent HQ announcement, multi-provider preview announcement

Claim Cella should avoid Why it is weak Better question to prove
“VS Code gives agents your whole machine.” Actual authority depends on harness, configuration, environment, and managed restrictions. Does Cella enforce its promised boundary for every supported tool path?
“We have sandboxing and approvals.” These are already expected infrastructure features. Can Cella make exact authority predictable with fewer configuration gaps?
“Only Cella keeps credentials outside agents.” Credential substitution is already documented in Copilot CLI. Can Cella constrain the exact external consequence as well as secret exposure?
“Switch agents without losing work.” Session continuation and multi-provider workflows already exist. Can a change retain immutable inputs, declared task state, checks, and evidence across a new agent generation?
“You can see what an agent did.” Tool tracing, cloud logs, and delivery records already exist. Can the selected patch and external consequences be independently verified against authority and approvals?

Potential distinctions and the actual implementation gap

Cella contract Potential value beyond a viewer's permission settings Current Cella boundary
Explicit repository ingress and private candidate workspace An agent changes an admitted copy. Host application is a deliberate repository transaction rather than automatic live-workspace mutation. Local snapshot/import, private source custody, reconstruction, and sealed-result custody have local tests. Protected source admission and user-facing result selection/delivery remain unavailable.
Independent Wall and generation admission A small privileged runtime boundary enforces an immutable generation contract independently of model instructions or an IDE UI. Lifecycle/recovery, authenticated control, and offline runtime paths exist. No qualified protected-Cell claim yet.
Gateway + Connection + typed Effect Bind operation, resource, bounded arguments, policy, approval, idempotency, and receipt. Domain access alone does not grant every action at that domain. Project-bound Connection catalog, fixed-route provider executor, and fail-closed listener-custody foundations have local tests. Model execution remains disconnected from authorized Cell origin. No external-consequence Effect execution path.
Service Cells + Project Secret Boundary Run approved secret-bearing application revisions separately from the agent's editable candidate; do not place runtime secrets in Agent Cells. Service Cell and secret authorization workflow are unfinished.
Channels + Relay Bind communication to exact endpoints/generations, protocol/method, direction, expiry, and limits, instead of arbitrary local-network access. Fixed exact-generation echo grant, activated Relay lease, policy slices, and mapped-UID checks exist. Target-host identity semantics, durable evidence, immediate in-flight revocation, and protected acceptance remain unverified or incomplete.
Independent policy Explain exact authority across models and boundaries without making prompts or repository files authoritative. Restricted-YAML parsing, durable Project adoption, simulation/explanation, and exact shell/Service/Channel/model grants are wired locally. Effect and Project Secret enforcement and the full hierarchy contract remain incomplete.
Workstreams + checkpoints Preserve declared work state, inputs, candidates, and causal history across runs and agent changes, with explicit continuity gaps. Project-owned Workstream identity, immutable Run/journal storage, and owner-authored handoff records have local tests. Checkpoints and complete cross-agent continuity are absent; hidden model reasoning is not promised.
Evidence roles + Change Capsules + Verifier Separate trusted enforcement facts from agent logs; bind a selected change and delivery to reviewable authority evidence. Lifecycle receipts and an isolated Wall-envelope signer/verifier exist. It refuses a protected claim; production key custody, full ledger/signing integration, capsule construction, and repository verification are incomplete.

These are Cella-specific intended contracts, not proof of market uniqueness or superiority. Component architecture, governed capabilities, policy hierarchy, repository ingress and delivery, current milestones, Wall implementation, Gateway implementation, Relay implementation

Competition risk

High for generic agent workflow tooling. A session dashboard, selectable agents, reusable instructions, approvals, and a terminal wrapper face an integrated incumbent with established distribution. Additional interface polish will not establish an independent authority contract.

High for credential protection as a standalone pitch. Credential masking narrows the gap. Cella should demonstrate semantic authorization and reproducible consequences rather than claim that a hidden token alone solves agent authority.

Plausible opportunity for governed application workflows. An Agent Cell editing code while a separate Service Cell uses runtime secrets, with a bounded Channel and verified delivery, is a coherent use case. Its advantage must be demonstrated against a well-configured existing workflow, not an intentionally unrestricted strawman.

The largest immediate risk is Cella's implementation gap. A broader requirement catalog is useful for clarity, but it cannot compensate for a difficult installation or an unproven protected run.

Concrete product and engineering actions

These are proposed acceptance work, not new canonical decisions or promises of release availability.

Priority Deliverable Evidence required before claiming it
1 One install-to-task path on the supported Debian host Successful user installation, admitted generation, agent task, cleanup, and failure recovery; publish exact supported environment and limitations.
2 Host-independent private workspace Demonstrate host edits and secret reads cannot occur through shell descendants, native tools, hooks, MCP, or inherited mounts. Show deliberate candidate delivery.
3 One real Gateway Effect Push an exact approved commit to an exact repository/branch; demonstrate wrong branch, stale generation, altered arguments, replay, and revoked Connection refusal. Credential bytes never enter the Agent Cell.
4 One Service Cell + Channel workflow Secret-bearing test application remains separate from the agent. Prove endpoint/method/byte/expiry limits and revoke the old grant after service replacement.
5 Authority-linked evidence Correlate generation, policy digest, exact request, approval, trusted outcome, and selected patch; distinguish unsigned receipts, signed roles, missing events, and agent assertions.
6 Comparative developer trial Have users complete the same task with a configured VS Code sandbox and with Cella. Measure setup effort, approval interruptions, task success, refusal clarity, and evidence usefulness.
7 Minimal editor integration Review changes, explain refusals, inspect evidence, and reconnect without granting host tools to the agent. Build a dashboard only when these operations work.

Limits and follow-up verification

This research verifies documentation, not live behavior on every operating system or subscription. Defaults can be overridden and features can roll out gradually. Record VS Code version, selected harness, OS, execution host, managed settings, and effective sandbox report in a comparison test.

Some official pages describe older Local behavior while newer pages describe Agent Host. In particular, do not reuse deprecated platform-specific sandbox settings, infer shell network behavior from the fetch/browser filter, or assume Copilot CLI masking automatically covers all VS Code tools. Recheck the target-specific configuration before publishing an installation example.

The monitoring guide's Agent Host identity-capture note differs from the 1.141 release notes, which announce managed identity capture. Treat that as a version/configuration verification item rather than promising uniform telemetry. Monitoring scope, 1.141 enterprise identity capture

All linked primary sources were checked on 2026-10-10. Dated announcements are historical milestones; GitHub documentation without a publication date is cited as current documentation retrieved on that date. Revisit this comparison when a supported harness changes its boundary or Cella completes an acceptance gate.

Source: docs/research/vscode-agent-controls.md