BatchTool rebuilds its tool map from ToolRegistry.tools() without
passing the caller agent, so agent-level permission filtering is
bypassed. Add plan_exit to the DISALLOWED set to prevent non-plan
agents from triggering it via batch.
A merge conflict resolution incorrectly gated PlanExitTool behind
KILO_EXPERIMENTAL_PLAN_MODE && KILO_CLIENT === "cli", preventing the
plan agent from signaling completion. This broke the "looks good,
implement" flow — the follow-up prompt never appeared and no new
code-mode session was created.
Regression of #6240.
The fixDuplicateReasoning workaround was added to handle a bug in
@openrouter/ai-sdk-provider v1 that caused reasoning details to be
duplicated in messages. This was fixed upstream in
https://github.com/OpenRouterTeam/ai-sdk-provider/pull/344/ and the
fix has since been applied to @kilocode/kilo-gateway, making this
workaround no longer necessary.
* feat: add colorblind-friendly theme
Add a new colorblind-accessible theme using a scientifically-designed
palette that works for deuteranopia, protanopia, and tritanopia:
- Primary Blue (#0077BB) for main UI elements
- Secondary Orange (#EE7733) for variables and operators
- Success Teal (#009988) instead of green for success states
- Warning Yellow (#CCBB44) for warnings
- Error Vermillion (#CC3311) instead of red for errors
- Accent Sky (#33BBEE) for functions and links
Key design principles:
- No red/green combinations (most common color blindness)
- Blue/orange as primary contrasting colors
- Teal/vermillion for diff colors instead of green/red
- High luminance contrast between adjacent colors
* Update packages/opencode/src/cli/cmd/tui/context/theme.tsx
Co-authored-by: Marius <marius@kilocode.ai>
* Update packages/opencode/src/cli/cmd/tui/context/theme.tsx
Co-authored-by: Marius <marius@kilocode.ai>
* Update packages/opencode/src/cli/cmd/tui/context/theme/colorblind.json
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
* Update packages/opencode/src/cli/cmd/tui/context/theme/colorblind.json
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
* fix malformed block
---------
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Marius <marius@kilocode.ai>
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
These markers are only needed in shared upstream opencode files to prevent
merge conflicts. In kilo-specific packages (kilocode/, kilo-gateway/,
kilo-ui/, kilo-i18n/, kilo-vscode/, etc.) they serve no purpose.
Move the ask agent's deny+allowlist after user config in the merge
order so ask mode's restrictions always win. Previously, user global
permission config (e.g. edit: { 'src/log.ts': 'allow' }) was appended
last, causing PermissionNext.disabled() to stop at the user's specific-
pattern rule and leave edit/write/bash in the LLM's tool list.
Fixes#6235
- introduce ENV_VERSION constant in kilo-gateway and export it
- modify getEditorNameHeader to append version when provided
- export ENV_VERSION from gateway index for external use
- initialize ENV_VERSION from Installation.VERSION in opencode startup
- update tests to verify editor header with and without version
- update model priority to auto-small for kilo provider
instead of gpt-5-nano
- update availability check to look for auto-small
instead of gpt-5-nano when selecting kilo model
Add the Enhance Prompt feature to the VS Code extension, matching the
legacy extension's behaviour. A ✨ sparkle button in the chat input
toolbar rewrites the user's draft prompt using an LLM.
CLI:
- POST /enhance-prompt endpoint using LLM.stream with small model
- System prompt as agent.prompt for caching; user text as user message
- clean() strips code fences and surrounding quotes from LLM output
Extension:
- KiloProvider handler using SDK client.enhancePrompt.enhance()
- Shows VS Code error notification on failure
- WandSparkles icon from lucide-solid via @kilocode/kilo-ui
- Spin animation while enhancement is in flight
- Empty-input click shows feature description (all 16 i18n locales)
- Ctrl+Z / ⌘Z undo restores original draft
- Guard checks isBusy/isDisabled/enhancing matching canEnhance()
Tests:
- 11 unit tests for clean() in enhance-prompt.test.ts
Migration plan:
- Removed feature row (parity achieved)
- Deleted prompt-improvement.md spec doc