Skip to content

fix: remember sandbox state per session - #11696

Merged
marius-kilocode merged 9 commits into
mainfrom
hardly-wish
Jun 26, 2026
Merged

fix: remember sandbox state per session#11696
marius-kilocode merged 9 commits into
mainfrom
hardly-wish

Conversation

@marius-kilocode

Copy link
Copy Markdown
Collaborator

The sandbox toolbar currently uses an in-memory session override while new composers fall back to configuration. As a result, opening a new Agent Manager tab can appear to re-enable sandboxing, and restarting the backend can change the effective state of existing sessions.

Persist the selected sandbox state in session metadata so every existing session restores its own value across tab switches and restarts. Keep a machine-local sticky default for genuinely new sessions, update it after successful toggles, and snapshot it into session metadata before the first prompt can execute. Blank composers update this default without creating an empty backend session.

Forked and continued sessions inherit their source state, while fresh local, worktree, and tool-created sessions use the sticky default. A sessionless support endpoint keeps the blank-composer control aligned with actual filesystem and network sandbox availability.

@kilo-code-bot

kilo-code-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (31 files)
  • .changeset/remember-sandbox-sessions.md
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts
  • packages/kilo-vscode/src/agent-manager/__tests__/AgentManagerProvider.spec.ts
  • packages/kilo-vscode/src/agent-manager/tool-start.ts
  • packages/kilo-vscode/src/agent-manager/types.ts
  • packages/kilo-vscode/src/services/cli-backend/connection-service.test.ts
  • packages/kilo-vscode/src/services/cli-backend/connection-service.ts
  • packages/kilo-vscode/src/services/sandbox-preference.ts
  • packages/kilo-vscode/src/shared/sandbox-session.ts
  • packages/kilo-vscode/tests/unit/agent-manager-tool-start.test.ts
  • packages/kilo-vscode/tests/unit/kilo-provider-load-messages.test.ts
  • packages/kilo-vscode/tests/unit/prompt-input-connection-guard.test.ts
  • packages/kilo-vscode/tests/unit/sandbox-preference.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/kilocode/sandbox/policy.ts
  • packages/opencode/src/kilocode/sandbox/state.ts
  • packages/opencode/src/kilocode/server/httpapi/groups/sandbox.ts
  • packages/opencode/src/kilocode/server/httpapi/handlers/sandbox.ts
  • packages/opencode/src/tool/task.ts
  • packages/opencode/test/kilocode/sandbox/session.test.ts
  • packages/opencode/test/kilocode/sandbox/state.test.ts
  • packages/opencode/test/kilocode/server/httpapi-exercise-scenarios.ts
  • packages/opencode/test/kilocode/task-nesting.test.ts
  • packages/opencode/test/plugin/openai-ws.test.ts
  • packages/sdk/js/src/v2/gen/sdk.gen.ts
  • packages/sdk/js/src/v2/gen/types.gen.ts
  • packages/sdk/openapi.json
Previous Review Summaries (3 snapshots, latest commit 6089b5f)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 6089b5f)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (32 files)
  • .changeset/remember-sandbox-sessions.md
  • .kilo/plans/sandbox-toggle-session-state.md
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts
  • packages/kilo-vscode/src/agent-manager/__tests__/AgentManagerProvider.spec.ts
  • packages/kilo-vscode/src/agent-manager/tool-start.ts
  • packages/kilo-vscode/src/agent-manager/types.ts
  • packages/kilo-vscode/src/services/cli-backend/connection-service.test.ts
  • packages/kilo-vscode/src/services/cli-backend/connection-service.ts
  • packages/kilo-vscode/src/services/sandbox-preference.ts
  • packages/kilo-vscode/src/shared/sandbox-session.ts
  • packages/kilo-vscode/tests/unit/agent-manager-tool-start.test.ts
  • packages/kilo-vscode/tests/unit/kilo-provider-load-messages.test.ts
  • packages/kilo-vscode/tests/unit/prompt-input-connection-guard.test.ts
  • packages/kilo-vscode/tests/unit/sandbox-preference.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/kilocode/sandbox/policy.ts
  • packages/opencode/src/kilocode/sandbox/state.ts
  • packages/opencode/src/kilocode/server/httpapi/groups/sandbox.ts
  • packages/opencode/src/kilocode/server/httpapi/handlers/sandbox.ts
  • packages/opencode/src/tool/task.ts
  • packages/opencode/test/kilocode/sandbox/session.test.ts
  • packages/opencode/test/kilocode/sandbox/state.test.ts
  • packages/opencode/test/kilocode/server/httpapi-exercise-scenarios.ts
  • packages/opencode/test/kilocode/task-nesting.test.ts
  • packages/opencode/test/plugin/openai-ws.test.ts
  • packages/sdk/js/src/v2/gen/sdk.gen.ts
  • packages/sdk/js/src/v2/gen/types.gen.ts
  • packages/sdk/openapi.json

Previous review (commit 7c65a33)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (15 files)
  • .kilo/plans/sandbox-toggle-session-state.md
  • packages/kilo-vscode/src/KiloProvider.ts
  • packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts
  • packages/kilo-vscode/src/agent-manager/__tests__/AgentManagerProvider.spec.ts
  • packages/kilo-vscode/src/agent-manager/types.ts
  • packages/kilo-vscode/src/services/cli-backend/connection-service.test.ts
  • packages/kilo-vscode/src/services/cli-backend/connection-service.ts
  • packages/kilo-vscode/tests/unit/kilo-provider-load-messages.test.ts
  • packages/kilo-vscode/tests/unit/prompt-input-connection-guard.test.ts
  • packages/kilo-vscode/webview-ui/src/components/chat/PromptInput.tsx
  • packages/kilo-vscode/webview-ui/src/types/messages/webview-messages.ts
  • packages/opencode/src/kilocode/sandbox/state.ts
  • packages/opencode/src/tool/task.ts
  • packages/opencode/test/kilocode/sandbox/state.test.ts
  • packages/opencode/test/kilocode/task-nesting.test.ts

Previous review (commit be3ae82)

Status: 1 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 1
SUGGESTION 0
Issue Details (click to expand)

WARNING

File Line Issue
packages/kilo-vscode/webview-ui/src/types/messages/webview-messages.ts 932 Blank sandbox-default messages no longer carry Agent Manager worktree context, so blank worktree tabs can resolve and persist the default against the root workspace or last real session.

Fix these issues in Kilo Cloud

Files Reviewed (25 files)
  • .changeset/remember-sandbox-sessions.md - 0 issues
  • .kilo/plans/sandbox-toggle-session-state.md - 0 issues
  • packages/kilo-vscode/src/KiloProvider.ts - 0 issues
  • packages/kilo-vscode/src/agent-manager/AgentManagerProvider.ts - 0 issues
  • packages/kilo-vscode/src/agent-manager/tool-start.ts - 0 issues
  • packages/kilo-vscode/src/services/cli-backend/connection-service.ts - 0 issues
  • packages/kilo-vscode/src/services/sandbox-preference.ts - 0 issues
  • packages/kilo-vscode/src/shared/sandbox-session.ts - 0 issues
  • packages/kilo-vscode/tests/unit/agent-manager-tool-start.test.ts - 0 issues
  • packages/kilo-vscode/tests/unit/kilo-provider-load-messages.test.ts - 0 issues
  • packages/kilo-vscode/tests/unit/prompt-input-connection-guard.test.ts - 0 issues
  • packages/kilo-vscode/tests/unit/sandbox-preference.test.ts - 0 issues
  • packages/kilo-vscode/webview-ui/src/components/chat/PromptInput.tsx - 0 issues
  • packages/kilo-vscode/webview-ui/src/components/chat/prompt-input-utils.ts - 0 issues
  • packages/kilo-vscode/webview-ui/src/types/messages/extension-messages.ts - 0 issues
  • packages/kilo-vscode/webview-ui/src/types/messages/webview-messages.ts - 1 issue
  • packages/opencode/src/kilocode/sandbox/policy.ts - 0 issues
  • packages/opencode/src/kilocode/sandbox/state.ts - 0 issues
  • packages/opencode/src/kilocode/server/httpapi/groups/sandbox.ts - 0 issues
  • packages/opencode/src/kilocode/server/httpapi/handlers/sandbox.ts - 0 issues
  • packages/opencode/test/kilocode/sandbox/session.test.ts - 0 issues
  • packages/opencode/test/kilocode/sandbox/state.test.ts - 0 issues
  • packages/opencode/test/kilocode/server/httpapi-exercise-scenarios.ts - 0 issues
  • packages/sdk/js/src/v2/gen/sdk.gen.ts - 0 issues
  • packages/sdk/js/src/v2/gen/types.gen.ts - 0 issues

Reviewed by gpt-5.4-2026-03-05 · Input: 195.6K · Output: 40.3K · Cached: 1.1M

Review guidance: REVIEW.md from base branch main

# Conflicts:
#	packages/kilo-vscode/tests/unit/prompt-input-connection-guard.test.ts
#	packages/kilo-vscode/webview-ui/src/components/chat/PromptInput.tsx
# Conflicts:
#	packages/opencode/src/kilocode/sandbox/policy.ts
#	packages/opencode/test/kilocode/sandbox/session.test.ts
#	packages/opencode/test/kilocode/sandbox/state.test.ts
#	packages/opencode/test/kilocode/task-nesting.test.ts
@marius-kilocode
marius-kilocode merged commit 78eed0b into main Jun 26, 2026
26 checks passed
@marius-kilocode
marius-kilocode deleted the hardly-wish branch June 26, 2026 12:27
t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
fix: remember sandbox state per session
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