Skip to content

Add policies for terminal agent sandbox settings - #323646

Draft
dileepyavan wants to merge 1 commit into
microsoft:release/1.127from
dileepyavan:DileepY/sandbox_settings
Draft

Add policies for terminal agent sandbox settings#323646
dileepyavan wants to merge 1 commit into
microsoft:release/1.127from
dileepyavan:DileepY/sandbox_settings

Conversation

@dileepyavan

@dileepyavan dileepyavan commented Jun 29, 2026

Copy link
Copy Markdown
Member

Fixes #323643

Summary

  • Add enterprise policy registrations for additional terminal agent sandbox settings.
  • Restrict sandbox-related settings to safe disabled/default values when chat_preview_features_enabled is false.
  • Add default serialized policy values for filesystem and advanced runtime sandbox settings.
  • Regenerate build/lib/policies/policyData.jsonc with the new policy entries.

Testing

  • Ran precommit hygiene via git commit hook.
  • Checked diagnostics for src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.ts and src/vs/workbench/contrib/policyExport/test/node/policyExport.integrationTest.ts (no errors).
  • Ran ./scripts/test.sh --run src/vs/workbench/contrib/policyExport/test/node/policyExport.integrationTest.ts (2 passing).

Copilot AI review requested due to automatic review settings June 29, 2026 23:53
@dileepyavan
dileepyavan force-pushed the DileepY/sandbox_settings branch from fa50628 to 8fd1b92 Compare June 29, 2026 23:53
@vs-code-engineering

Copy link
Copy Markdown
Contributor

📬 CODENOTIFY

The following users are being notified based on files changed in this PR:

@anthonykim1

Matched files:

  • src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.ts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request primarily targets enterprise/policy and sandbox-related agent workflows, but also bundles a broad set of platform, API, UI, test, and build/CI updates across the workbench, sessions (Agents window), agent host, and built-in extensions.

Changes:

  • Updates smoke tests and agent/sandbox execution paths (including macOS shell parity) and improves robustness in terminal/agent host tooling.
  • Extends proposed APIs and customization plumbing (e.g. SCM diff information provider, chat customization source metadata) and refactors related services/tests.
  • Bumps core tooling/dependencies (Node/Electron/Playwright/Chromium refs), adjusts build/prelaunch behavior, and adds/updates CI pipeline coverage (incl. new flaky-smoke pipelines).
Show a summary per file
File Description
test/smoke/src/main.ts Use realpath-resolved temp dir on Windows for smoke test data path.
test/smoke/src/areas/agentsWindow/agentsWindow.test.ts Force /bin/sh on macOS for sandbox smoke parity; assert shell selection in logs.
test/mcp/src/automationTools/windows.ts Adjust snapshot output formatting to reflect new aria snapshot string.
test/componentFixtures/playwright/package.json Bump Playwright test dependency for component fixtures.
test/componentFixtures/blocks-ci-screenshots.md Update component-fixture screenshot baseline URLs.
test/automation/src/playwrightDriver.ts Switch from accessibility snapshot object to page.ariaSnapshot({ mode: 'ai' }) string.
src/vscode-dts/vscode.proposed.textEditorDiffInformation.d.ts Add proposed SourceControlDiffInformationProvider and window.createSourceControlDiffInformation.
src/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts Add source metadata to customization folder DTO surface.
src/vs/workbench/services/editor/common/editorResolverService.ts Add experiment-gated setting to control Markdown default editor in Agents window; make default associations dynamic.
src/vs/workbench/services/assignment/common/assignmentService.ts Add StopWatch-based telemetry for TAS fetch latency (initial + refetch).
src/vs/workbench/electron-browser/desktop.main.ts Remove remote filesystem proxy wiring from desktop renderer startup.
src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalSuggestAddon.ts Fix disposable registration timing for focus handler; dispose CTS with cancellation.
src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.ts Ensure overlay state is assigned before branching on state transitions.
src/vs/workbench/contrib/styleOverrides/browser/styleOverrides.contribution.ts Add new style override modules (sashHandles, titlebar).
src/vs/workbench/contrib/styleOverrides/browser/media/titlebar.css Add macOS-scoped titlebar padding for improved vertical centering.
src/vs/workbench/contrib/styleOverrides/browser/media/roundedCorners.css Round xterm scrollbar sliders and adjust inset so corners remain visible.
src/vs/workbench/contrib/styleOverrides/browser/media/paneHeaders.css Tighten pane header inset and adjust corner radius.
src/vs/workbench/contrib/styleOverrides/browser/media/padding.css Adjust pane header/body insets and add targeted chat/session padding tweaks.
src/vs/workbench/contrib/styleOverrides/browser/media/activityBar.css Ensure action-bar codicon weight matches agents typography ramp in select headers.
src/vs/workbench/contrib/onboarding/browser/spotlight/spotlightOverlay.ts Rename “Skip” to “End Tour”, add tooltip, and route Escape from buttons to dismissal.
src/vs/workbench/contrib/chat/test/common/constants.test.ts Remove tests for last-used editor session type selection (API removed).
src/vs/workbench/contrib/chat/test/browser/aiCustomization/aiCustomizationListWidget.test.ts Update tests after removing storage-source filtering APIs.
src/vs/workbench/contrib/chat/test/browser/aiCustomization/aiCustomizationItemsModel.test.ts Update tests after removing storage-source filtering APIs.
src/vs/workbench/contrib/chat/common/customizationHarnessService.ts Remove storage-source filtering from harness descriptor; add source to source folder model.
src/vs/workbench/contrib/chat/common/constants.ts Remove “last used editor session type” selection APIs/keys.
src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.ts Remove storage-source filter types/helpers.
src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.ts Stop using persisted “last used editor session type” when resolving untitled chat editor.
src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.ts Remove last-used model seeding logic from empty input sync path.
src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.ts Remove recording last-used session type on focus/view model changes.
src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.ts Export showNoFoldersDialog for reuse.
src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.ts Make deprecation tooltip more specific (Ollama provider).
src/vs/workbench/contrib/chat/browser/chat.shared.contribution.ts Update markdownDescription for Claude pref setting to reference Agent Host enabled setting.
src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.ts Remove harness-based local filtering; add source to returned folders.
src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.ts Rename “workspace” target to “local” for manual creation requests.
src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.ts Create prompts-service item provider without passing active descriptor callback.
src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionHandler.ts Avoid double-completing tool calls; refine warning messages for pre-exec vs invocation failure.
src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatContribution.ts Adjust hidden customization sections for agent host providers; remove storage-source filtering.
src/vs/workbench/contrib/chat/browser/actions/chatActions.ts Stop using “last used editor session type” for new chat editor session URI selection.
src/vs/workbench/contrib/browserView/electron-browser/features/webContentsViewRendererFeature.ts Tighten focus gating based on presence of an input URL; avoid focusing hidden model.
src/vs/workbench/contrib/browserView/electron-browser/features/browserNavigationFeatures.ts Track initiated navigation to keep focus during in-flight loads; adjust picker/focus behavior.
src/vs/workbench/contrib/browserView/electron-browser/browserEditor.ts Add typed input getter for BrowserEditorInput.
src/vs/workbench/browser/parts/views/viewPaneContainer.ts Reserve bottom gap in floating panels layout for Modern UI visual consistency.
src/vs/workbench/browser/parts/editor/editorConfiguration.ts Re-register dynamic editor association defaults when the Agents-window markdown experiment setting changes.
src/vs/workbench/browser/dnd.ts Change text drag payload to include all file-service resources (not just file://).
src/vs/workbench/api/node/proxyResolver.ts Add resolved proxy type summary into telemetry stats.
src/vs/workbench/api/common/extHostChatAgents2.ts Forward source in customization source folder DTOs.
src/vs/workbench/api/common/extHost.protocol.ts Extend quick diff protocol for source-control diff information create/dispose + accept messages; extend customization folder DTO.
src/vs/workbench/api/common/extHost.api.impl.ts Wire createSourceControlDiffInformation to ext host quick diff (proposed API).
src/vs/workbench/api/browser/mainThreadQuickDiff.ts Implement main-thread source control diff info tracking via QuickDiffModel references and push updates to ext host.
src/vs/workbench/api/browser/mainThreadChatAgents2.ts Forward customization folder source; remove storage-source filtering defaults.
src/vs/sessions/test/browser/resolveRemoteAuthority.test.ts Remove “Open in Editor URI” tests after moving URI building logic.
src/vs/sessions/SESSIONS.md Expand docs for per-session view state persistence and deterministic closed-chat tracking.
src/vs/sessions/SESSIONS_LIST.md Update docs to reflect new “Recent/Older” date grouping and related context keys.
src/vs/sessions/contrib/sessions/test/browser/sessionsList.test.ts Add unit tests for new groupByDate behavior and caps.
src/vs/sessions/contrib/sessions/test/browser/aiCustomizationShortcutsWidget.fixture.ts Update fixture after removing storage-source filter from harness descriptor.
src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.ts Use phone-specific archive confirmation sheet on mobile layout; preserve desktop confirm+checkbox.
src/vs/sessions/contrib/sessions/browser/sessionsActions.ts Remove quick-navigate support from sessions picker (keybinding-based).
src/vs/sessions/contrib/providers/remoteAgentHost/test/browser/remoteAgentHostCustomizationHarness.test.ts Update tests after removing storage-source filter from harness descriptor.
src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostCustomizationHarness.ts Remove storage-source filtering logic from remote agent harness descriptor.
src/vs/sessions/contrib/providers/agentHost/browser/agentHostChangesetConstants.ts Remove changeset throttling constant file.
src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.ts Gate onboarding tour while modal editor is visible.
src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.ts Gate onboarding tour while modal editor is visible.
src/vs/sessions/contrib/github/browser/media/pullRequestHover.css Improve hover layout for narrow viewports and long text wrapping.
src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.ts Remove harness-based filtering for prompt slash commands.
src/vs/sessions/contrib/changes/browser/changesViewService.ts Treat missing changeset as “loading” to avoid transient false-not-loading state.
src/vs/sessions/contrib/changes/browser/changesView.ts Avoid recomputing action groups while active session is still loading.
src/vs/sessions/browser/parts/mobile/media/mobilePickerSheet.css Add reusable confirm-style sheet typography/layout building blocks.
src/vs/sessions/browser/parts/chatCompositeBar.ts Stop reordering chats in renderer; rely on provider order.
src/vs/sessions/browser/openInVSCodeUtils.ts Remove VS Code protocol URI builders from utils (logic moved elsewhere).
src/vs/sessions/browser/actions/vscodeActions.ts Inline “Open in VS Code” URI building using product quality/urlProtocol + Schemas constants.
src/vs/platform/files/electron-main/remoteFileSystemProxyMainHandler.ts Remove main-process remote filesystem proxy handler implementation.
src/vs/platform/files/electron-browser/remoteFileSystemProxyServer.ts Remove renderer remote filesystem proxy server implementation.
src/vs/platform/files/common/remoteFileSystemProxy.ts Remove remote filesystem proxy channel constants.
src/vs/platform/agentHost/test/node/protocol/copilotRealSdk.integrationTest.ts Re-enable blob attachment integration test.
src/vs/platform/agentHost/test/node/mockAgent.ts Extend mock agent sendMessage to accept optional senderClientId.
src/vs/platform/agentHost/test/node/clientTools/claudeSessionClientToolsModel.test.ts Add tests for preferred-owner resolution when shared tools exist.
src/vs/platform/agentHost/test/node/agentSideEffects.test.ts Test forwarding dispatching client id and parent peer chat URI in subagent completion paths.
src/vs/platform/agentHost/test/node/agentService.test.ts Add restore ordering test for peer chat catalog despite async load timing; update parsing helpers usage.
src/vs/platform/agentHost/test/node/agentHostCommitOperationProvider.test.ts Update expected commit operation availability behavior.
src/vs/platform/agentHost/node/copilot/sessionCustomizationDiscovery.ts Adjust displayed names for discovery roots (folder labels).
src/vs/platform/agentHost/node/copilot/copilotSlashCommandCompletionProvider.ts Hide runtime commands by alias as well as primary name.
src/vs/platform/agentHost/node/copilot/copilotShellTools.ts Make sentinel parsing more robust by scanning for latest complete numeric marker.
src/vs/platform/agentHost/node/copilot/copilotAgentSession.ts Track turn sender client id; route client tool ownership preference; auto-respond to pending permission on buffered tool output.
src/vs/platform/agentHost/node/codex/codexAgent.ts Normalize CAPI billing/pricing meta extraction and updated field naming.
src/vs/platform/agentHost/node/claude/clientTools/claudeSessionClientToolsModel.ts Thread preferred-client ownership through tool ownership resolution.
src/vs/platform/agentHost/node/claude/claudeAgent.ts Normalize CAPI billing/pricing fields and updated field naming.
src/vs/platform/agentHost/node/agentHostGitService.ts Simplify ref diff computation by letting git diff fail and handling via warn+undefined.
src/vs/platform/agentHost/node/agentHostCommitOperationProvider.ts Gate commit operation availability based on changeset kind and presence of PR URL.
src/vs/platform/agentHost/node/agentHostChangesetOperationService.ts Always return operation list (empty array) instead of undefined.
src/vs/platform/agentHost/node/activeClientState.ts Allow preferred-client ownership resolution for shared tool names.
src/vs/platform/agentHost/common/state/sessionState.ts Add isSubagentChatUri helper.
src/vs/platform/agentHost/common/agentService.ts Extend agent sendMessage signature with optional sender client id.
src/vs/platform/agentHost/common/agentHost.config.contribution.ts Update markdownDescription for Copilot CLI picker hiding setting to reference Agent Host enabled setting.
src/vs/code/electron-main/app.ts Remove main-process registration of remote filesystem proxy handler channel.
src/vs/base/test/common/yaml.test.ts Add test ensuring quoted scalar is treated as single-element string array value.
src/vs/base/common/yaml.ts Update getStringArrayValue to handle quoted scalars by returning single-element array.
src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.ts Dispose breadcrumb items on widget dispose; minor CSS string cleanup.
scripts/test-web-integration.bat Force TEMP to realpath tmpdir (Node issue workaround).
scripts/test-remote-integration.bat Force TEMP to realpath tmpdir (Node issue workaround).
scripts/code.bat Fail fast with message when preLaunch fails.
remote/package-lock.json Update remote package lock dependency versions (tar/undici/ws).
remote/.npmrc Bump remote Node target and build id.
package.json Bump VS Code version/distro, Playwright, and Electron dependency versions.
extensions/npm/package-lock.json Update extension lockfile dependencies (js-yaml/which-pm).
extensions/notebook-renderers/package-lock.json Update undici dependency version.
extensions/mermaid-markdown-features/package-lock.json Update dompurify dependency version.
extensions/markdown-language-features/tsconfig.json Add proposed textEditorDiffInformation d.ts to compilation inputs.
extensions/markdown-language-features/package.json Enable proposed API and bump markdown-it dependency.
extensions/markdown-language-features/markdown-editor-src/editor.ts Handle new gutter marker messages and apply markers to markdown editor model.
extensions/copilot/src/platform/endpoint/test/node/chatModelCapabilities.spec.ts Add tests for Kimi edit tool capability behavior.
extensions/copilot/src/platform/endpoint/common/endpointProvider.ts Add optional per-model request options (temperature/top_p) in model metadata.
extensions/copilot/src/platform/endpoint/common/chatModelCapabilities.ts Add Kimi family detection and include in replace-string capability gates.
extensions/copilot/src/extension/prompts/node/agent/allAgentPrompts.ts Register Kimi prompt resolvers.
extensions/copilot/src/extension/intents/node/test/searchSubagentGating.spec.ts Add tests for semantic_search gating by endpoint type (CAPI vs BYOK).
extensions/copilot/src/extension/intents/node/agentIntent.ts Gate specialized subagents and semantic search behind CAPI-only check.
extensions/copilot/src/extension/chatSessions/vscode-node/claudeCustomizationProvider.ts Provide simplified labels and add source for customization folders.
extensions/copilot/src/extension/chatSessions/copilotcli/vscode-node/copilotCLICustomizationProvider.ts Provide simplified labels and add source for customization folders.
extensions/copilot/src/extension/byok/vscode-node/customEndpointProvider.ts Plumb modelOptions through BYOK model provider config.
extensions/copilot/src/extension/byok/node/openAIEndpoint.ts Apply configured model options to request bodies with override/delete behavior.
extensions/copilot/src/extension/byok/common/test/byokProvider.spec.ts Add test ensuring model options are propagated into resolved model info.
extensions/copilot/src/extension/byok/common/byokProvider.ts Add BYOK modelOptions support in types and resolution output.
extensions/copilot/.nvmrc Bump Copilot extension Node version.
cgmanifest.json Update Chromium/Node/Electron component versions and commit hashes.
build/linux/dependencies-generator.ts Update Chromium reference URL in comments for dependency generation.
build/linux/debian/dep-lists.ts Add new Debian dependency entry for libglib2.0-0 >= 2.12.0.
build/lib/util.ts Retry rimraf on additional Windows error codes (EBUSY/EPERM).
build/lib/preLaunch.ts Avoid re-downloading Electron if expected version already installed.
build/lib/electron.ts Use Electron version from util rather than hardcoded constant.
build/checksums/nodejs.txt Update Node binary checksums for the new Node version.
build/azure-pipelines/win32/steps/product-build-win32-compile.yml Skip CG NOTICE download/apply in CI build-only jobs; make attach non-fatal.
build/azure-pipelines/win32/product-smoke-flaky-win32.yml Add dedicated multi-iteration flaky smoke job for Windows Electron.
build/azure-pipelines/linux/steps/product-build-linux-compile.yml Skip CG NOTICE download/apply in CI build-only jobs; make attach non-fatal.
build/azure-pipelines/linux/setup-env.sh Update Chromium revision used for clang/toolchain download URLs/comments.
build/azure-pipelines/linux/product-smoke-flaky-linux.yml Add dedicated multi-iteration flaky smoke job for Linux Electron (incl. setuid helper perms).
build/azure-pipelines/darwin/steps/product-build-darwin-compile.yml Skip CG NOTICE download/apply in CI build-only jobs; make attach non-fatal.
build/azure-pipelines/darwin/product-smoke-flaky-darwin.yml Add dedicated multi-iteration flaky smoke job for macOS Electron.
.vscode/notebooks/my-endgame.github-issues Update milestone query in notebook cell.
.vscode/notebooks/endgame.github-issues Update milestone query in notebook cell.
.nvmrc Bump repo Node version.
.npmrc Bump Electron headers target and build id.
.github/workflows/pr-win32-test.yml Set VSCODE_SKIP_PRELAUNCH=1 for test steps.
.github/workflows/pr-linux-test.yml Set VSCODE_SKIP_PRELAUNCH=1 for test steps.
.github/workflows/pr-darwin-test.yml Set VSCODE_SKIP_PRELAUNCH=1 for test steps.
.github/skills/sessions/SKILL.md Update documented guidance on chat tab order responsibilities between provider vs renderer.

Review details

  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Low

@dileepyavan
dileepyavan marked this pull request as draft June 30, 2026 00:17
@dileepyavan
dileepyavan force-pushed the DileepY/sandbox_settings branch from 8fd1b92 to ff15ec7 Compare June 30, 2026 05:29
@dileepyavan
dileepyavan marked this pull request as ready for review June 30, 2026 07:04
@dileepyavan
dileepyavan marked this pull request as draft June 30, 2026 07:07
@dileepyavan
dileepyavan force-pushed the DileepY/sandbox_settings branch from ff15ec7 to 501f779 Compare June 30, 2026 07:07
@dileepyavan
dileepyavan marked this pull request as ready for review June 30, 2026 07:09
@dileepyavan
dileepyavan marked this pull request as draft June 30, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants