Commit Graph
14432 Commits
Author SHA1 Message Date
kilo-maintainer[bot] fd5fee9ec3 release: v7.1.4 v7.1.4 2026-03-25 16:32:24 +00:00
Marian Alexandru Alecu f0892bfe37 Merge pull request #7151 from shssoichiro/issue-6906
fix(cli): use configured Code model when implementing a plan
2026-03-25 17:30:19 +02:00
Marius ad6a19ed99 fix(agent-manager): add missing NotificationsProvider to agent manager provider chain (#7619)
PR #7473 moved KiloNotifications from App.tsx into MessageList.tsx. Since the
agent manager reuses ChatView (which renders MessageList), KiloNotifications
now calls useNotifications() inside the agent manager — but its provider was
only in the sidebar's App.tsx. The missing context crashed the entire SolidJS
tree, rendering the agent manager blank.

Adds a regression test that statically verifies provider chain parity between
App.tsx and AgentManagerApp.tsx so this class of bug is caught at CI time.
2026-03-25 16:14:39 +01:00
Mark IJbema d31f3c3693 Merge pull request #7517 from Kilo-Org/mark/bash-default-ask-new-users
feat(cli): change default bash permission to ask for new users only
2026-03-25 15:59:42 +01:00
Mark IJbema 15bcdb9208 Merge pull request #7614 from Kilo-Org/feat/models-tab-default
feat(vscode): make models tab the default tab in settings
2026-03-25 15:25:42 +01:00
github-actions[bot] 93c9676340 chore: update kilo-vscode visual regression baselines 2026-03-25 14:22:29 +00:00
kiloconnect[bot] 736d5e9b97 feat(vscode): make models tab the default tab in settings 2026-03-25 14:20:15 +00:00
Imanol Maiztegui 37ba08697e fix(ui): detect upward scroll to prevent auto-follow fighting keyboard navigation (#7607)
* fix(ui): detect upward scroll to prevent auto-follow fighting keyboard navigation

* fix(ui): initialize lastScrollTop on every scrollToBottomNow call

* fix(ui): refresh lastScrollTop when scroll is near the bottom
2026-03-25 15:17:11 +01:00
Kirill Kalishev b8ea9e26a3 Merge pull request #7545 from Kilo-Org/kirillk/picker-adjustments
fix(vscode): UX improvements for pickers, settings, and icons
2026-03-25 08:56:52 -04:00
Kirill Kalishev 2a7d644276 Merge branch 'main' into kirillk/picker-adjustments 2026-03-25 08:47:34 -04:00
Evgeny Shurakov 508378464a Merge pull request #7446 from Kilo-Org/eshurakov/ingest-stream
Remote - add real-time session relay and remote control over WebSocket
2026-03-25 13:43:17 +01:00
Imanol Maiztegui f74398814b Improve auto-scroll stability (#7588)
* style(vscode): improved auto-scroll movement on sessions

* fix(ui): skip markUser for wheel events inside nested scrollable regions
2026-03-25 13:40:27 +01:00
Mark IJbema a7839772b1 Merge pull request #7581 from Kilo-Org/mark/agent-behaviour-migration-plan
docs(vscode): add agent behaviour feature parity plan
2026-03-25 13:29:02 +01:00
Mark IJbema 95b7feebd2 Merge pull request #7225 from Kilo-Org/feat/modes-management-screen
feat(vscode): add modes management UI with unified config save flow
2026-03-25 13:25:26 +01:00
Mark IJbema e63e514e69 fix(cli): remove commands that can execute arbitrary code from bash allowlist
Remove find (-exec), env (runs commands), git (hooks/aliases),
npm/yarn/pnpm/bun (postinstall scripts, run subcommand), and make
(executes Makefile recipes). Keep only commands that cannot spawn
subprocesses or execute arbitrary code.
2026-03-25 13:23:49 +01:00
Mark IJbema 469193ce46 fix(vscode): fix nameInvalid error message mentioning underscores
The regex /^[a-z][a-z0-9-]*$/ does not allow underscores but the English
error message said it did. Updated to match the actual validation.
Non-English translations were already correct.

Also added a comment in ModeEditView explaining that agent() can be
undefined for modes that only exist in the config draft.
2026-03-25 13:23:16 +01:00
Mark IJbema 365c3bf708 fix(cli): check legacy TOML config for bash permission in migration
Prevents overwriting an explicit bash permission set in the legacy
TOML config file when a higher-precedence JSON/JSONC file exists.
2026-03-25 12:28:52 +01:00
Mark IJbema b73963578d fix(cli): trim bash allowlist to safe commands, handle legacy config
- Remove commands that can execute arbitrary code (node, python, curl,
  docker, etc.) from the default bash allowlist
- Keep only read-only/informational commands, text processing, file
  operations, git, package managers, compilers, and archive tools
- Handle legacy TOML config file in bash migration to detect existing
  users who only have the old config format
2026-03-25 12:22:41 +01:00
Mark IJbema 7ebd28c2aa docs(vscode): update modes sub-tab plan for PR #7225
PR #7225 adds create/edit/delete modes UI with unified config save
flow. Mark core CRUD as done, lower priority from P1 to P2, and
update the comparison tables and remaining work list.
2026-03-25 12:16:00 +01:00
Mark IJbema 87fab14e94 fix(cli): correct bash permission type annotation for typecheck 2026-03-25 12:13:04 +01:00
Mark IJbema a8f4fd6ca8 docs(vscode): scope agent behaviour plan to the Agent Behaviour tab only
Remove 8 plan files that covered other settings tabs (Auto Approve,
Context, Terminal, Prompts, Experiments, Provider, etc.). These are
out of scope — only the Agent Behaviour settings tab is covered.

Rewrite remaining files as precise sub-tab comparisons:
- modes-subtab-parity.md: side-by-side of legacy Modes vs new Agents
- mcp-server-creation.md: rewritten as MCP Servers sub-tab comparison
- rules-workflows-subtab-parity.md: new file for Rules & Workflows gaps

Update migration plan section to match the 4 sub-tab structure.
Simplify settings-migration.md mapping table to Agent Behaviour scope.
2026-03-25 12:13:04 +01:00
Mark IJbema f5b85f15ee fix: move bash migration to config loading, add safe command defaults
- Move bash permission migration from storage.ts to Config.global() so
  it runs before config is consumed (fixes timing issue)
- Check all 5 global config files (config.json, kilo.json, kilo.jsonc,
  opencode.json, opencode.jsonc) for existing bash permission before
  migrating, and write to the highest-precedence existing file
- Add default allow-list of safe bash commands (ls, git, npm, etc.) so
  users aren't prompted for common development commands
2026-03-25 12:11:21 +01:00
Mark IJbema 6d7a04a33a feat(cli): change default bash permission to ask for new users only
Add bash:ask to hardcoded permission defaults so new users are prompted
before shell commands execute. A storage migration preserves the existing
bash:allow behavior for existing users by writing it to their global config
if they haven't explicitly set a bash permission.
2026-03-25 12:10:44 +01:00
Mark IJbema 69ffab4644 docs(vscode): add agent behaviour feature parity plan
Compare legacy extension agent behaviour settings with new extension
and CLI backend capabilities. Add 11 new plan files covering:

- Custom instructions & prompts tab
- Auto-approve parity (YOLO mode, budget limits)
- Custom modes / agent creation UI
- Per-agent advanced settings (variant, permissions, visibility)
- Provider-specific settings (OpenRouter, Anthropic, Bedrock, etc.)
- Token & request budget limits
- MCP server creation & editing
- Terminal tab settings
- Context management settings
- Formatter & LSP detailed configuration
- Experiments & feature flags parity

Update main migration plan with new Agent Behaviour section.
Update settings-migration.md with legacy→CLI settings mapping table.
Update settings-ui.md with cross-references to new docs.
2026-03-25 11:59:20 +01:00
Mark IJbema ff0bae2f06 refactor(vscode): extract ModeEditView and ModeCreateView from AgentBehaviourTab
AgentBehaviourTab was 1093 lines. Now 773 lines with the edit (178 lines)
and create (147 lines) views in their own components. Each component uses
context hooks directly instead of receiving helpers via closures.
2026-03-25 11:55:20 +01:00
Mark IJbema 94ed2ee73f Merge pull request #7576 from Kilo-Org/fix/orchestrator-remove-bash-access
fix(cli): remove bash access from orchestrator mode
2026-03-25 11:54:54 +01:00
Mark IJbema afe5df0449 fix(cli): enforce bash deny after user config in orchestrator permissions
Instead of placing user before the orchestrator allowlist (which prevents
users from restricting allowed tools), keep user in the normal position
but add an explicit bash deny after user. This way:
- User can still deny orchestrator-allowed tools (e.g. webfetch)
- User cannot re-enable bash since the post-user deny wins via findLast
2026-03-25 11:53:03 +01:00
Christiaan Arnoldus 8d3311c215 Merge pull request #7571 from chrarnoldus-bot/fix/cost-fallback-price-unit
fix: convert gateway pricing from per-token to per-million-tokens
2026-03-25 11:45:25 +01:00
github-actions[bot] 651bac82f1 chore: update kilo-vscode visual regression baselines 2026-03-25 10:29:16 +00:00
Christiaan Arnoldus 9f50cb1c50 Merge branch 'main' into fix/cost-fallback-price-unit 2026-03-25 11:28:48 +01:00
Mark IJbema a13021abf7 fix(vscode): improve edit mode screenshot story with richer mock data
Add description and model to reviewer config, use requestAnimationFrame
for more reliable DOM click in headless Chromium, fix container height.
2026-03-25 11:27:05 +01:00
Christiaan Arnoldus 9f985dda1a Merge pull request #7579 from Kilo-Org/christiaan/api-variants
Convert Kilo/OpenRouter variants to OpenAI/Anthropic format if necessary
2026-03-25 11:23:39 +01:00
Mark IJbema b1542bbd78 fix(cli): restore commented-out bash line for upstream merge compatibility 2026-03-25 11:22:40 +01:00
Christiaan Arnoldus 0f76380a2d Add openaiCompatible settings 2026-03-25 11:19:03 +01:00
Marius 6bb5776e5d fix(vscode, cli): handle Windows cross-drive paths in ignore checks (#7479)
On Windows, path.relative() returns an absolute path when source and
target are on different drives. The ignore npm package throws a
RangeError when fed such paths. This caused 'Failed to send prompt'
when VS Code had open tabs from another drive (e.g. extension settings
in AppData while workspace is on D:).

Guard all path.relative() → ignore.ignores() call sites against
absolute results by checking path.isAbsolute() and a Windows
drive-letter regex.
2026-03-25 11:17:52 +01:00
Mark IJbema 4ca6388f19 fix(cli): place user config before orchestrator allowlist so deny takes precedence
Move `user` before the orchestrator-specific PermissionNext.fromConfig()
so that findLast() returns the orchestrator's rules (which appear later
in the merged array), preventing user config from re-enabling bash.
This mirrors the pattern already used by the `ask` agent.

Also removes the dead commented-out bash line since `*: deny` already
covers it.
2026-03-25 11:17:28 +01:00
Christiaan Arnoldus bee882ad0b Remove unused imports 2026-03-25 11:16:06 +01:00
Mark IJbema a848ade0a3 fix(cli): comment out bash access instead of removing the line 2026-03-25 11:04:01 +01:00
Christiaan Arnoldus de6c1fdeae Convert Kilo/OpenRouter variants to OpenAI/Anthropic format if necessary
and use generic openaiCompatible name like elsewhere
2026-03-25 11:03:44 +01:00
Kilo Code 63ce373539 fix(cli): remove bash access from orchestrator mode to prevent direct file editing
The orchestrator mode had `bash: "allow"` in its permission ruleset, creating a
loophole where the LLM could use shell commands (sed, echo >, tee, etc.) to write
files directly instead of delegating to sub-agents via the task tool.

This is inconsistent with the orchestrator system prompt which says "Do not edit
files directly" and with how kilocode-legacy handled this (no command access at
all for orchestrator).

Removes bash from the allowed tools. The orchestrator still has read, grep, glob,
and list for lightweight codebase investigation, plus task for delegation.

Closes #7575
2026-03-25 09:40:05 +00:00
Capricorn a87e30186b fix: convert gateway pricing from per-token to per-million-tokens for cost fallback 2026-03-25 08:54:54 +00:00
Mark IJbema ae97759d4d fix(vscode): stop trimming edit mode fields on every keystroke
Removes .trim() from onChange handlers for description, prompt, and
model fields so spaces can be typed without being stripped. The create
mode form still trims on submit which is correct for one-shot actions.
2026-03-25 09:20:43 +01:00
kilo-maintainer[bot] fcc0bc792b chore: update nix node_modules hashes 2026-03-25 08:06:49 +00:00
Mark IJbema c5fd59e3f2 feat(vscode): add back-to-list button at bottom of edit mode view 2026-03-25 09:00:55 +01:00
Mark IJbema 9ee65ef2bf refactor(vscode): remove Done/Back buttons from edit mode, save on every change
All edit mode fields now write to the ConfigContext draft immediately on
change, making the Save Bar appear as soon as any edit is made. The
user navigates back via the existing back arrow in the header. Discard
is available via the Save Bar.
2026-03-25 08:53:27 +01:00
Christiaan Arnoldus f6064c8b06 Merge pull request #7308 from Kilo-Org/feat/honor-ai-sdk-provider-metadata
feat(gateway): honor ai_sdk_provider metadata for Vercel AI SDK provider selection
2026-03-25 08:51:41 +01:00
Mark IJbema daf8d219b2 feat(vscode, i18n): rename edit mode Save button to Done across all 16 languages 2026-03-25 08:37:50 +01:00
Mark IJbema 95d198645c Merge pull request #7558 from Kilo-Org/kirillk/main-screen
feat(vscode): improve cloud session history UX
2026-03-25 08:17:15 +01:00
github-actions[bot] 594666ca4b chore: update kilo-vscode visual regression baselines 2026-03-24 22:17:38 +00:00
kirillk bb9eb70000 fix(vscode): fix contrast of time and trash icon on selected session row in light mode 2026-03-24 18:15:19 -04:00