- Regenerate openapi.json, types.gen.ts, and sdk.gen.ts to include
branded type patterns (^ses.*, ^msg.*, ^pty.*, ^prt.*, ^wrk.*)
added upstream in v1.2.25, while preserving Kilo Remote/Network routes
- Keep "auth" as primary CLI command name (upstream renamed to "providers"),
added kilocode_change markers with "providers" as alias
- Regenerate CLI docs reflecting new upstream commands (config, completion)
and session list flags (--all, --search)
- Fix RemoteStatusService typecheck: SDK Remote methods now take
optional (directory, workspace) params from global query middleware
Models fetched via the OpenAI-compatible /v1/models endpoint had image
support hardcoded to false because the endpoint provides no capability
metadata. This matches the legacy extension behavior (supportsImages:
true) for custom providers while leaving all other provider defaults
untouched.
The annotation CI check requires all diff lines in shared opencode
files to be inside kilocode_change marker blocks. Move the start
marker above the modified comment so every changed line is covered.
Add kilocode_change markers to the Bedrock Claude condition in
transform.ts to ease upstream merges. Move the bedrock-specific
tests to test/kilocode/ so the shared transform.test.ts stays
closer to upstream and reduces merge conflicts.
The kilo-sessions/ directory is entirely Kilo-specific and should not
require kilocode_change markers. Update isExempt() to also match
directories starting with 'kilo-'. Add block markers to the /viewed
route changes in session.ts.
Implement end-to-end remote session tracking so the Kilo server knows
which sessions are opened and focused in the VS Code extension.
- Add RemoteStatusService that tracks open/focused sessions and pushes
state to kilo serve via the connection service
- Extend connection-service with viewed-sessions endpoint and auto-flush
on remote enable/disable and CLI reconnect
- Redesign remote settings UI in ExperimentalTab with status indicator
and descriptive copy
- Add SDK schema for kilo-sessions.remote-status-changed event
- Gate session reporting on remote-enabled setting; reset state on
CLI disconnect
- Remove vestigial remoteToggled message type
- Add comprehensive unit tests for RemoteStatusService
- Add i18n keys for new remote settings UI across all locales
- Add runtime check to reject mode=primary agents from being used as subagents
- Add kilocode_change markers to the unconditional task deny block and task:false tool override
- Add kilocode_change markers around the primary agent mode check
Remove the allowsTask conditional that let subagents spawn further
subagents when their merged permissions contained task: allow. This
closes the infinite recursion hole where agents could create unbounded
chains of child sessions (e.g. via user config or cross-agent loops).
The task tool is now always denied in subagent sessions and always
removed from the LLM tool list, regardless of agent permissions.
Primary agents are unaffected — they retain full task tool access.
Fixes#8637
Pass -Djava.import.generatesMetadataFilesAtProjectRoot=false as a JVM
system property when spawning JDTLS. This tells JDTLS to store metadata
files (.classpath, .project, .settings/) in its workspace data directory
instead of polluting the user's project root.
Fixes#8621