15277 Commits
Author SHA1 Message Date
kilo-maintainer[bot] 31e1981361 release: v7.2.1 v7.2.1 2026-04-08 16:32:13 +00:00
Mark IJbema 3272fbebdf Merge pull request #8606 from Kilo-Org/fix/add-kilocode-change-marker-prompt-flexshrink
fix(cli): add kilocode_change marker to prompt flexShrink prop
2026-04-08 18:12:19 +02:00
kiloconnect[bot] 0545a38b8e fix(cli): add kilocode_change marker to prompt flexShrink prop
The flexShrink={0} addition from #6458 modifies shared upstream code
but was missing the required kilocode_change annotation.
2026-04-08 16:08:52 +00:00
Mark IJbema 9306a60607 Merge pull request #6458 from aravhawk/session/agent_58776529-50a0-40ff-9d78-3f2f7e4d28b6
fix: add flexShrink={0} to prompt border box to prevent shrinking
2026-04-08 17:40:56 +02:00
Kirill Kalishev 936c2a1577 Merge pull request #8601 from Kilo-Org/brass-yuzu
fix(cli): annotation check supports JSX comment syntax in TSX files
2026-04-08 11:31:27 -04:00
Mark IJbema 9411473738 Merge pull request #6664 from justincqz/docs/remove-web-command
docs: remove references to 'kilo web' in documentation
2026-04-08 17:24:00 +02:00
Mark IJbema b92a1929cc Merge branch 'main' into docs/remove-web-command 2026-04-08 17:22:26 +02:00
Mark IJbema 54e57d3414 Merge branch 'main' into session/agent_58776529-50a0-40ff-9d78-3f2f7e4d28b6 2026-04-08 17:19:33 +02:00
kirillk 039cf837f1 fix(cli): add word boundary to MARKER_PREFIX regex
Prevents matching typos like kilocode_changes, kilocode_changelog.
Reported by reviewer in #8601.
2026-04-08 11:13:57 -04:00
kirillk 07e97005e3 fix(cli): annotation check supports JSX comment syntax in TSX files
The kilocode_change annotation CI check (introduced in #8531) only
recognized // style comments. TSX files require {/* */} syntax inside
JSX templates, causing false failures for any PR adding Kilo-specific
JSX in packages/opencode/ — specifically reported in #6966.

Covers:
- MARKER_PREFIX regex matching both // and {/* */} styles
- Updated all 5 regex locations (whole-file, block-start/end, inline, self-exclusion)
- JSX/TSX examples in error output and AGENTS.md
- Test suite in packages/script/tests/ (98 tests across 6 describe blocks)

Test results: 98 pass, 0 fail, 107 expect() calls
2026-04-08 11:09:24 -04:00
kirillk bf2ae93d67 fix(cli): support JSX comment syntax in kilocode_change annotation check
The annotation check script only recognized // style comments but TSX
files require {/* */} syntax inside JSX templates. This caused false
failures for PRs adding JSX-annotated markers in packages/opencode/.
2026-04-08 10:05:07 -04:00
Mark IJbema ee332b4ec2 Merge pull request #8505 from Kilo-Org/feat/agent-permissions-display
feat(vscode): add calculated permissions display and subagent visibility to agent details
2026-04-08 15:52:17 +02:00
68858cc50a docs: update for task timeline graph and Agent Manager PR badges (#8532)
* docs: update for task timeline graph and Agent Manager PR badges

- Update whats-new.md to reflect task timeline graph is now available (PR #8480)
- Add PR status badge documentation to agent-manager.md (PR #8524)

* Update packages/kilo-docs/pages/code-with-ai/platforms/vscode/whats-new.md

Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>

* Update packages/kilo-docs/pages/automate/agent-manager.md

Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>

* Update packages/kilo-docs/pages/code-with-ai/platforms/vscode/whats-new.md

Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>

---------

Co-authored-by: scuttlebot <scuttlebot@olearycrew.com>
Co-authored-by: Marius <marius@kilocode.ai>
Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-04-08 15:50:27 +02:00
Marius f81a17236d fix(agent-manager): prune orphaned sessions to prevent unbounded state file growth (#8597)
When a worktree was deleted, its sessions had worktreeId set to null but
were never removed from agent-manager.json. These orphaned sessions were
invisible in the UI and could never be reassigned, causing the file to
grow unboundedly (170+ entries with only 8 active worktrees).

- removeWorktree() now deletes sessions from state instead of nullifying
- load() skips orphaned sessions during deserialization (one-time cleanup)
- validate() also prunes orphaned sessions for completeness
2026-04-08 15:49:57 +02:00
Jackson Kasi 9d73e4ca12 fix: preserve write tool alongside apply_patch for gpt-5 models 2026-04-08 15:45:14 +02:00
Marian Alexandru Alecu ca3b8eb496 Merge pull request #8590 from Kilo-Org/fix/enforce-opencode-separation
fix: Update agents.md to enfore even more OpenCode separation
2026-04-08 15:34:30 +03:00
Alex Alecu 8f354dbc97 fix: Update agents.md to enfore even more OpenCode separation 2026-04-08 15:22:09 +03:00
Mark IJbema 7dc4399010 feat(vscode): add copy-to-clipboard button for permission ruleset JSON
Adds a copy icon button in the Calculated Permissions header that copies
the agent name and full permission ruleset as formatted JSON to the
clipboard, making it easy to share in issues or discussions.
2026-04-08 14:17:58 +02:00
Marius c294c6af59 fix(agent-manager): key PR cache by branch and reduce TTL to 10s (#8588)
Address review feedback from #8582:
- Key prCache by branch name instead of worktreeId so a branch switch
  in the same worktree naturally cache-misses instead of returning the
  previous branch's PR for up to the full TTL.
- Drop PR_LOOKUP_TTL from 60s to 10s to match the polling behavior of
  comparable tools — since only the active worktree polls, this adds
  at most 1 extra lookup per cycle.
2026-04-08 14:11:55 +02:00
Mark IJbema cb7058c2dd chore(vscode): bump KiloProvider.ts max-lines to 3300 2026-04-08 14:09:13 +02:00
Marius e29befcf71 fix(agent-manager): restore subtitle, pr, and onOpenPR props in section renderWt (#8583) 2026-04-08 13:52:33 +02:00
Mark IJbema aa2d747798 Merge pull request #8142 from Kilo-Org/mark/reimplement-mcp-removal
feat(vscode): reimplement MCP removal in agent behaviour settings
2026-04-08 13:52:30 +02:00
Marius c292de9d37 perf(agent-manager): reduce GitHub API usage in PR status polling (#8582)
Poll only the active worktree on each 15s timer tick instead of all
worktrees. Inactive worktrees refresh when selected or on manual
refresh. On first poll and visibility resume, all worktrees are fetched
once to populate badges.

Add a 60s TTL cache on PR lookup results so repeated polls skip the
expensive multi-strategy gh pr view cascade and only re-fetch checks
and comments (the fast-changing data).

With 10 worktrees this reduces API calls from ~5,000-9,800/hr to
~480-720/hr, staying well within GitHub's 5,000/hr rate limit.
2026-04-08 13:49:09 +02:00
Marian Alexandru Alecu 242c167171 Merge pull request #8504 from Kilo-Org/feat/help-all-command
feat: add kilo help --all command and auto-generated CLI reference docs
2026-04-08 14:46:51 +03:00
Mark IJbema 6cc197c44c Merge branch 'main' into mark/reimplement-mcp-removal 2026-04-08 13:41:47 +02:00
Evgeny Shurakov a11ab3a938 Merge pull request #8539 from Kilo-Org/eshurakov/telemetry-remote-connection-v2
Cli - Track remote connection opened event in PostHog
2026-04-08 13:39:09 +02:00
Marius 5de991a807 feat(ui): add copy button for assistant messages in kilo-ui (#8578)
The kilo-ui TextPartDisplay was missing a copy button for assistant
responses. Add one that mirrors the existing user message copy button,
shown left-aligned with minimal margin on the last text part of a
completed turn.
2026-04-08 13:38:55 +02:00
Mark IJbema 69754b851e fix(vscode): add allAgents to story mocks to fix storybook render errors
The AgentBehaviourTab now uses session.allAgents() but the story mocks
only provided agents(), causing 'Cannot read properties of undefined
(reading length)' errors in storybook.
2026-04-08 13:36:24 +02:00
Mark IJbema 359410fad2 refactor(vscode): address code review feedback for agent permissions display
- Replace non-null assertion with SolidJS Show callback pattern
- Add 'unknown' color fallback for unrecognized permission actions
- Document wildcard pattern assumption in summary computation
- Move mapAgent helper to module scope for better code organization
2026-04-08 13:36:24 +02:00
kiloconnect[bot] cc257fdd30 fix(vscode): preserve hidden flag in allAgents and filter internal modes
Forward the hidden flag in the allAgents mapping so the webview can
distinguish internal modes (compaction, title, summary). Filter them
out of the Agent Behaviour settings list to prevent leaking
backend-only modes into the UI.
2026-04-08 13:36:24 +02:00
kiloconnect[bot] 97ce20916e fix(vscode): address review feedback — default agent picker and i18n
- Derive defaultAgentOptions from session.agents() (visible agents
  only) so subagents/hidden agents cannot be selected as default_agent
- Add i18n translations for the new permissions UI to all 18 locale
  files (ar, br, bs, da, de, es, fr, ja, ko, nl, no, pl, ru, th, tr,
  uk, zh, zht)
2026-04-08 13:36:24 +02:00
kiloconnect[bot] bd0295b5e2 feat(vscode): add calculated permissions display to agent details
Show the resolved permission ruleset for each agent in the Agent
Behaviour settings tab. The section is collapsed by default and
expands to show an effective-action summary plus the full ordered
rule table (last match wins).

Changes:
- Forward all agents (including subagents) with their CLI-calculated
  permission rulesets to the webview via a new allAgents field
- Add collapsible PermissionRuleset component in ModeEditView
- Show subagents in the Agent Behaviour agent list with a badge
- Add PermissionRuleItem type mirroring the backend PermissionNext.Rule

Ref: https://github.com/Kilo-Org/kilocode/issues/8331
2026-04-08 13:36:24 +02:00
Alex Alecu 0697217d13 fix(cli): strengthen sync test and add missing ConfigCLICommand 2026-04-08 14:30:09 +03:00
Marius c7bebd225e feat(agent-manager): add user-defined sections for organizing worktrees (#8225)
Implement collapsible, color-coded sections in the Agent Manager sidebar.
Sections can be created, renamed, colored, deleted, and reordered via
Move Up/Down context menu. Worktrees are assigned via context menu or
drag-and-drop onto section headers.

- Section CRUD in WorktreeStateManager with JSON persistence
- worktreeOrder normalization on load (backfills missing section IDs)
- setWorktreeOrder filters to top-level only (sections + ungrouped worktrees)
- moveSection operates on visible top-level model, not raw array
- createDroppable sections as worktree drop targets
- sectionAwareDetector skips home section for within-section reorder
- Multi-version worktree groups move together
- Auto-rename on creation with double-rAF focus
- 76 tests (26 state manager + 15 helpers + 35 arch)
2026-04-08 13:16:52 +02:00
Marius 850826a2be fix(cli): align /local-review diff with agent manager diff viewer (#8574)
The /local-review command used git diff base...HEAD (triple-dot) which only
captured committed changes. The diff viewer uses merge-base + two-dot diff
against the working tree. This mismatch caused /local-review to show
'nothing to review' when changes were uncommitted.

Now computes merge-base explicitly and diffs the working tree against it,
matching WorktreeDiff behavior. Also includes untracked files.
2026-04-08 11:05:06 +00:00
Marius 60c91b5113 fix(vscode): dispose git processes on panel close to prevent orphans on Windows (#8572)
Add AbortController to GitOps that kills in-flight child processes when
dispose() is called. Thread the abort signal through both simple-git and
child_process.spawn so spawned git processes are terminated immediately
on Windows (TerminateProcess) and Unix (SIGTERM).

Wire gitOps.dispose() into all three owners: DiffViewerProvider,
AgentManagerProvider, and KiloProvider.
2026-04-08 12:59:33 +02:00
Alex Alecu fb5d85e2e5 fix(cli): make 'kilo help' show same output as 'kilo -h' 2026-04-08 13:57:25 +03:00
Mark IJbema 13c46741b7 Merge pull request #8567 from Kilo-Org/feat/vscode-model-search-fuzzy
feat(vscode): add fuzzy search to model selector
2026-04-08 12:21:39 +02:00
Mark IJbema be5dc85812 Merge branch 'main' into feat/vscode-model-search-fuzzy 2026-04-08 11:24:43 +02:00
Mark IJbema d771f29a60 refactor(vscode): extract search matching into testable utility
Move word-boundary matching logic from ModelSelector.tsx into
webview-ui/src/utils/search-match.ts with 37 unit tests ported from
the legacy word-boundary-fzf.ts test suite.
2026-04-08 11:19:32 +02:00
Mark IJbema 4b1e81b113 fix(vscode): use word-boundary matching instead of fuzzy match in model selector
Port the word-boundary matching algorithm from the legacy word-boundary-fzf.ts.
This splits text at camelCase transitions and delimiters, so 'clso' matches
'Claude Sonnet' (Cl+So) and multi-word queries like 'gpt 5' require each
fragment to match independently.
2026-04-08 11:10:58 +02:00
Alex Alecu 8327300881 Merge remote-tracking branch 'origin/main' into feat/help-all-command
# Conflicts:
#	packages/opencode/src/index.ts
2026-04-08 12:10:48 +03:00
Marian Alexandru Alecu f383210b8b Merge pull request #8473 from Kilo-Org/fix/cli-config-resilience
fix(cli): skip invalid agent/command configs
2026-04-08 12:08:57 +03:00
Alex Alecu a0a1ffa744 Merge branch 'main' into feat/help-all-command 2026-04-08 12:07:21 +03:00
Alex Alecu 7ecc076397 fix(cli): restore native --help for subcommands 2026-04-08 12:07:12 +03:00
Mark IJbema 9dd44993ed fix(vscode): trim whitespace-only search queries in model selector 2026-04-08 11:05:56 +02:00
Alex Alecu 83e8bbef8f Merge remote-tracking branch 'origin/main' into fix/cli-config-resilience
# Conflicts:
#	packages/opencode/src/kilocode/skills/kilo-config.md
2026-04-08 11:53:52 +03:00
Marian Alexandru Alecu e3bade8319 Merge pull request #8474 from Kilo-Org/docs/kilo-config-legacy-paths
docs(cli): add legacy paths to kilo-config skill
2026-04-08 11:50:02 +03:00
Marius 49cabd99c3 feat(agent-manager): add expand/collapse all button to inline diff panel (#8562) 2026-04-08 10:49:23 +02:00
Alex Alecu 0a2c10956e style(cli): add kilocode markers on mode block 2026-04-08 11:48:10 +03:00