When a subagent (task tool) runs, it creates a child session. Permission
requests and questions from child sessions were invisible because
ChatView filtered them to only show the current session's requests.
This caused the subagent to appear stuck/crashed when it was actually
waiting for a permission response that the user never saw.
Changes:
- Show ALL pending permissions/questions in the bottom dock, not just
those from the current session
- Block the prompt input when any permission or question is pending
(from any tracked session, including child sessions)
- Add '(subagent)' indicator to permission subtitle when it comes from
a child session
- Priority ordering: prefer current-session non-tool permissions first,
then fall back to any pending permission
The .selected state on mode-switcher-item and thinking-selector-item set
background to --vscode-list-activeSelectionBackground (a strong blue in
light themes) but never set a foreground color. Text inherited dark
colors from the parent, producing unreadable dark-on-blue text in light
VSCode themes.
- Add color using --text-on-interactive-base / --vscode-list-activeSelectionForeground
to .mode-switcher-item.selected and .thinking-selector-item.selected
- Move description text color to :not(.selected) so it inherits the
correct foreground when selected
- Add missing --surface-interactive-active token to vscode-bridge.css
Settings and Profile always open as editor panels now, so the back
button is unnecessary (users close the tab) and panelMode detection
is redundant. Cleaned up dead code across App.tsx, Settings, ProfileView,
SettingsEditorProvider, and stories.
- Fix fallback defaults to match backend (agent.ts): global default is
'allow', doom_loop and external_directory default to 'ask'
- Fix removeException to use correct per-tool default instead of 'ask'
- Fix grouped tool rows to show most restrictive level across all IDs
instead of reading only the first tool's value
- Add missing i18n keys (description, wildcardLabel, exceptions,
addCommand, addPath, placeholder, todoreadwrite, websearchcodesearch)
to all 15 non-English locales
Redesign the Auto-Approve tab in VS Code extension settings to display
and edit granular pattern-based permission rules (object syntax).
- Add PermissionRule type to support nested objects (e.g. { bash: { "*": "deny", "git *": "allow" } })
- Granular tools (external_directory, bash, read, edit) show wildcard row, exceptions list with per-pattern dropdowns, delete buttons, and inline add input
- Simple tools show single Ask/Allow/Deny dropdown
- Group todoread/todowrite and websearch/codesearch into combined rows
- Remove "Set all permissions" card, add description subtitle
- Truncate long patterns with ellipsis and title tooltip
- Two-phase config update for exception deletion to work with patchJsonc
Add Bedrock to the list of supported BYOK providers and document
the AWS-specific credential format (JSON with accessKeyId,
secretAccessKey, and region) and required IAM permissions.
Replace plain Unicode ↓ character with the proper <Icon name="arrow-down-to-line" />
component from kilo-ui, matching the desktop app's implementation.
All 15 non-English locales in packages/app/src/i18n/ were missing 5 keys:
- dialog.model.manage.provider.toggle
- session.modeSwitch.switching
- session.modeSwitch.waiting
- session.modeSwitch.notAvailable
- session.modeSwitch.fallback
Also removes stale desktop.* keys from packages/kilo-i18n/src/bs.ts that
belong in packages/desktop/src/i18n/bs.ts (where they already exist).