Skip to content

feat(sandbox): add session sandbox controls - #11628

Merged
marius-kilocode merged 2 commits into
mainfrom
feat-tui-sandbox-toggle
Jun 24, 2026
Merged

feat(sandbox): add session sandbox controls#11628
marius-kilocode merged 2 commits into
mainfrom
feat-tui-sandbox-toggle

Conversation

@marius-kilocode

@marius-kilocode marius-kilocode commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Sandboxing can currently only be controlled through persistent configuration, so changing it affects every session and clients have no reliable way to show or change the effective runtime state. This is especially confusing when a persisted default remains active without a visible control.

This adds a session-local sandbox override on top of the persistent experimental.sandbox default. The CLI exposes authenticated status and toggle endpoints plus change events, serializes transitions and cleanup per session, keeps overrides isolated by directory, and clears all overrides when a session is removed. Tool and MCP execution use the effective state while preserving the existing filesystem and network policies.

The TUI adds /sandbox, an active-state indicator, and toggle feedback. VS Code adds a feature-gated prompt control that works from an empty composer and Agent Manager worktrees, waits for transitions before sending prompts, fails closed when toggling cannot be confirmed, and reconciles HTTP responses with SSE updates without stale state.

image file-8c06f34cab4a5a4559761510da612df4 file-16be20cbab8ea44a45c31c173027363b file-05edd799faa20291b367fc727eb4bd68

Follow-up: #11630

@kilo-code-bot

kilo-code-bot Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (38 files)
  • .changeset/toggle-tui-sandbox.md
  • packages/kilo-sandbox/src/context.ts
  • packages/kilo-sandbox/src/index.ts
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts
  • packages/kilo-vscode/src/agent-manager/types.ts
  • packages/kilo-vscode/src/kilo-provider-utils.ts
  • packages/kilo-vscode/src/services/cli-backend/connection-utils.ts
  • packages/kilo-vscode/tests/unit/connection-utils.test.ts
  • packages/kilo-vscode/tests/unit/kilo-provider-load-messages.test.ts
  • packages/kilo-vscode/tests/unit/kilo-provider-utils.test.ts
  • packages/kilo-vscode/tests/unit/prompt-input-connection-guard.test.ts
  • packages/kilo-vscode/tests/unit/prompt-input-utils.test.ts
  • packages/kilo-vscode/webview-ui/src/components/chat/PromptInput.tsx
  • packages/kilo-vscode/webview-ui/src/components/chat/prompt-input-utils.ts
  • packages/kilo-vscode/webview-ui/src/types/messages/extension-messages.ts
  • packages/kilo-vscode/webview-ui/src/types/messages/webview-messages.ts
  • packages/opencode/src/cli/cmd/tui/plugin/internal.ts
  • packages/opencode/src/kilocode/plugins/sandbox.tsx
  • packages/opencode/src/kilocode/sandbox/event.ts
  • packages/opencode/src/kilocode/sandbox/policy.ts
  • packages/opencode/src/kilocode/server/httpapi/groups/sandbox.ts
  • packages/opencode/src/kilocode/server/httpapi/handlers/sandbox.ts
  • packages/opencode/src/kilocode/server/httpapi/server.ts
  • packages/opencode/src/server/routes/instance/httpapi/api.ts
  • packages/opencode/src/session/session.ts
  • packages/opencode/src/session/tools.ts
  • packages/opencode/test/kilocode/sandbox/config-network.test.ts
  • packages/opencode/test/kilocode/sandbox/sdk-config.test.ts
  • packages/opencode/test/kilocode/sandbox/session.test.ts
  • packages/opencode/test/kilocode/sandbox/state.test.ts
  • packages/opencode/test/kilocode/sandbox/tui.test.ts
  • packages/opencode/test/kilocode/server/httpapi-exercise-scenarios.ts
  • packages/sdk/js/src/gen/types.gen.ts
  • packages/sdk/js/src/v2/gen/sdk.gen.ts
  • packages/sdk/js/src/v2/gen/types.gen.ts
  • packages/sdk/openapi.json
  • script/check-model-tool-network.ts

Reviewed by gpt-5.4-20260305 · Input: 253.9K · Output: 20.7K · Cached: 1.9M

Review guidance: REVIEW.md from base branch main

@marius-kilocode
marius-kilocode merged commit 984ceaa into main Jun 24, 2026
26 checks passed
@marius-kilocode
marius-kilocode deleted the feat-tui-sandbox-toggle branch June 24, 2026 12:30
t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
feat(sandbox): add session sandbox controls
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