- Settings gear icon in tool window title bar shows popup with Restart/Reinstall
actions and a connection status + version info line
- Actions declared in frontend XML with IDs, looked up via ActionManager
- Fix Moshi deserialization of const boolean fields: openapi-generator creates
enum classes for `const: true` but Moshi expects strings while the server
sends JSON booleans — fixGeneratedApi now replaces these with plain Boolean
- Add detailed logging across restart/reinstall/teardown/health chains
Add eslint-disable comments for complexity and max-lines rules in
KiloProvider.ts and AgentManagerProvider.ts with TODO markers to
refactor and remove these disables. These files currently exceed the
complexity and line-count limits needed for the pre-release build.
- restart: tears down all connections (SSE, health, OkHttp clients), kills the
CLI process, then respawns it with fresh connections
- reinstall: same teardown, but also deletes and re-extracts the CLI binary
from JAR resources before respawning
- teardown sequence cancels jobs before closing SSE to prevent reconnect races
- Generate Kotlin API client from the same OpenAPI spec as the VS Code extension
using openapi-generator with jvm-okhttp4 + Moshi (bundled, no platform deps)
- Separate health checks (3s timeout) from API/SSE calls (no timeout) using two
OkHttp clients, matching the VS Code extension's connection architecture
- Use ProjectId for all frontend↔backend RPC calls so the backend resolves the
correct project service without scanning ProjectManager (JetBrains template pattern)
- Add KiloProjectService as project-level backend service scoping CLI API calls
via the project's working directory
- Log CLI binary extraction path and startup command for easier debugging
- Update models-and-providers.md with real model IDs from the API
- Remove Providers and Provider routing sections (implementation details)
- Remove internal /providers and /models-by-provider API links
- Add kilo-auto/small virtual model documentation
- Update BYOK provider table with all supported providers including AWS
Bedrock, Inception, BytePlus Coding Plan, Kimi Code, Neuralwatt, and
Z.AI Coding Plan
- Replace BYOK routing section with user-facing description
- Note org-level vs personal BYOK key management
The upstream merge rewrote the theme color generation system
(color.ts + resolve.ts), shifting scale indices for critical tokens
and removing the queued feature. This restores visual parity with
main by pinning affected tokens and restoring removed functionality.
Theme overrides (kilo.json):
- Pin surface-critical-weak, surface-critical-strong, surface-base,
text-on-critical-base/weak, icon-critical-hover/active to pre-merge
values — upstream changed generateScale() and index mapping
CSS fixes:
- Restore tool-error and queued styles in kilo-ui message-part.css
(upstream rewrote these in v1.2.25, but the kilo-ui message-part.tsx fork still uses them)
- Add transparent bg/border on tool-error-card (base card now has
visible bg/border after our earlier card.css restore)
- Remove card borders in kilo-vscode theme context
- Override error-details card background to match CI baseline
Restored features (removed in upstream):
- Restore queued prop/memo/rendering in session-turn.tsx
- Thread queued prop through upstream message-part.tsx Message →
UserMessageDisplay (needed because SessionTurn uses upstream
message-part via relative import, not the kilo-ui fork)
Detect unborn branch state in defaultBranch() using git status and
surface a user-friendly localized error instead of the raw 'Could not
determine default branch' message. Adds no_commits error code and
i18n strings for all 19 locales.
Sections could silently disappear from worktreeOrder when drag-and-drop sent
a setWorktreeOrder call that omitted them. This made moveSection a no-op for
the affected section since it relies on worktreeOrder position.
Fix both paths: setWorktreeOrder now appends any missing sections/ungrouped
worktrees, and moveSection self-heals by adding the section before swapping.
Non-worktree sessions (opened in the Local tab) were only stored in
vscode.setState() and lost when the Agent Manager panel was closed.
Now they are written to agent-manager.json as ManagedSession entries
with worktreeId=null. On startup, initializeState reads them back and
the webview restores them as local tabs.
- Add persistSession/forgetSession messages (webview → extension)
- Update openLocally handler to set worktreeId=null via moveSession
- Extract restoreLocalSessions() helper with unit tests
- Allow moveSession() to accept null worktreeId
Closes#7801
onCreateMultiVersion was missing worktreeId in calls to
runSetupScriptForWorktree, createSessionInWorktree, and
notifyWorktreeReady. The webview tracks setup state by worktreeId, so
without it the busy overlay could never be cleared — blocking all
interaction with the worktree permanently.
Also declares the kilo-worktree-setup task type in package.json and
catches executeTask failures gracefully to prevent VS Code from surfacing
its own error notification for the undeclared task type.