Core
- Handle malformed JSON in legacy .kilocode/mcp.json files (@marius-kiloclaw)
- Apply suggestions from code review
- Restore Kilo share URL support in import command
- Use .kilo instead of .kilocode for config directories
- Run script/format.ts to format codebase (@imanolmzd-svg)
- Lazy-load worktree diff details in Agent Manager
- Update ACP agent implementation
- Update provider error handling
- Use mercury-2 model ID in tests instead of mercury-2-coder (@apoorvumang)
- Remove instant reasoning effort for Mercury-2 on Kilo Gateway and direct Inception (@apoorvumang)
- Add reasoning effort support for Inception Mercury-2 (@apoorvumang)
- Add missing kilocode_change markers to oauth-callback.ts and codex.ts
- Update path for plans
- Refactor Kilo compatibility for v1.2.16
- Replace OpenCode with Kilo in OAuth callback pages and auth metadata
- Normalize trailing slashes in authentication login URLs (@elithrar)
- Upgrade OpenTUI to v0.1.86 and enable markdown rendering by default (@kommander)
- Avoid Gemini combiner schema sibling injection (@nexxeln)
- Forward metadata options to Cloudflare AI Gateway provider (@ryanskidmore)
- Clone part data in Bus event to preserve token values (@ryanskidmore)
- Recover from 413 Request Entity Too Large errors via automatic context compaction (@bentrd)
- Show human-readable message for HTML error responses (@rianvdm)
- Kill orphaned MCP child processes and expose OPENCODE_PID on shutdown (@ryanwyler)
- Add workspace_id to session table (@jlongster)
- Add WorkspaceContext to provide workspace-level state management (@jlongster)
- Add basic implementation of remote workspace support (@jlongster)
- Change keybindings to navigate between child sessions (@jlongster)
- Fix test (@adamdotdevin)
- Terminal rendering and interaction fixes in desktop app (@adamdotdevin)
TUI
- Guard against malformed JSON in import response
- Respect KILO_SESSION_INGEST_URL environment variable in import command
- Replace curved arrow with straight arrow for better terminal compatibility (@thdxr)
- Show pending tool call count in TUI instead of generic 'Running...' message (@thdxr)
- Use arrow indicator for active tool execution in TUI (@thdxr)
- Disable session navigation commands when no parent session (@jerome-benoit)
- Fix project ID conflict and update handling for same session ID (@noamzbr)
- Improve task tool display with subagent keybind hints and spinner animations (@thdxr)
Desktop
- Defer diff rendering in app (@adamdotdevin)
- Reduce timeline jank in app (@adamdotdevin)
- Tighten up header elements in app (@adamdotdevin)
- Stabilize project close navigation in app (@MrMushrooooom)
- Added comprehensive animation system with multiple animation types and controls (@kitlangton)
- Default auto-respond to false in app (@adamdotdevin)
- SolidJS refactoring for app package (@adamdotdevin)
- Move session review bottom padding to UI component (@iamdavidhill)
- Fix desktop app update finalizer for latest.json publishing (@Brendonovich)
- Revert Polish Turkish translations (@nexxeln)
- Use correct download link in finalize-latest-json for desktop app (@Brendonovich)
- Faster session switching via windowed rendering and staged timeline (@kitlangton)
- Add compact UI to app (@neriousy)
- Polish Turkish translations (@vaur94)
- Fallback to synthetic icon for unknown provider IDs in app (@rexdotsh)
- Fix scroll issues in the app (@adamdotdevin)
- Synchronize internationalization translations for the app (@adamdotdevin)
- Add Warp to the open menu (@kitlangton)
- Add latest.json finalizer script for desktop builds (@Brendonovich)
- Auto-accept permissions in app (@adamdotdevin)
- Add Turkish locale support for app and UI packages (@vaur94)
- Add recent projects section in command palette (@neriousy)
- Move desktop open_path functionality to Rust (@Brendonovich)
- Allow providing username and password when connecting to remote server (@Brendonovich)
- Add permission indicator to app (@adamdotdevin)
- Add permission notifications to the app (@adamdotdevin)
- Show keybind hint on context tab close button (@iamdavidhill)
- Better diff and code comments in app (@adamdotdevin)
- Deduplicate file tree scroll state management (@kitlangton)
- Align review changes select height in app (@iamdavidhill)
- Mute inactive file tab icons (@iamdavidhill)
- Add max-width to session when review is closed but file tree is open (@iamdavidhill)
- Add border to file tree on scroll (@iamdavidhill)
- Fix session tab alignment in compact view to prevent vertical overflow (@iamdavidhill)
- New tabs styling in app (@adamdotdevin)
- Auto-accept all permissions mode (@adamdotdevin)
- Enhance project tile interaction with suppress hover functionality in desktop app (@OpeOginni)
SDK
- Add workspace query parameter to worktree diff endpoints (@kilo-code-bot[bot])
- Enable Zen mode for focused coding sessions (@fwang)
Thank you to 36 community contributors:
- @fwang:
- wip: zen
- zen: fix go plan usage limit
- doc: opencode go
- doc: go
- doc: add zen deprecated models
- zen: docs
- @niushuai1991:
- docs: Sync zh_CN docs with English Version (#15228)
- @OpeOginni:
- refactor(desktop): enhance project tile interaction with suppress hover functionality (#15214)
- @adamdotdevin:
- feat(app): auto-accept all permissions mode
- feat(app): new tabs styling (#15284)
- fix(app): terminal issues
- Revert "fix(ui): prevent filename and diff count overlap in session changes (#14773)"
- fix: test
- feat(app): better diff/code comments (#14621)
- fix(app): permission notifications
- fix(app): permission indicator
- fix(app): scroll jacking
- fix(app): update provider sprite
- fix(app): auto-accept permissions
- chore(app): i18n sync (#15362)
- fix(app): scroll issues
- chore(app): deps
- chore(console): i18n sync (#15360)
- chore(docs): i18n sync (#15417)
- chore(app): solidjs refactoring (#13399)
- fix(app): default auto-respond to false
- fix(app): timeline jank
- fix(app): tighten up header elements
- fix(app): defer diff rendering
- @nexxeln:
- fix(ui): avoid truncating workspace paths in assistant text (#14584)
- fix(ui): prevent filename and diff count overlap in session changes (#14773)
- Revert "fix(i18n): polish turkish translations" (#15656)
- fix(opencode): avoid gemini combiner schema sibling injection (#15318)
- @iamdavidhill:
- tui: fix session tab alignment in compact view to prevent vertical overflow
- tweak(ui): add border to filetree on scroll
- tweak(ui): max-width on session when the review is closed but the file tree is open
- fix(ui): mute inactive file tab icons
- tweak(app): align review changes select height
- tweak(app): show keybind on context tab close
- core: keep review header buttons visible when scroll thumb shows
- ui: widen scroll thumb hit area
- ui: tighten scroll thumb and review padding
- ui: avoid session review header clipping
- ui: move session review bottom padding
- @kitlangton:
- refactor(app): dedupe filetree scroll state
- chore(script): source team members from TEAM_MEMBERS (#15369)
- feat(app): add Warp to the open menu (#15368)
- perf(session): faster session switching via windowed rendering and staged timeline (#15474)
- Animation Smorgasbord (#15637)
- @Brendonovich:
- app: allow providing username and password when connecting to remote server (#14872)
- desktop: move open_path to rust (#15323)
- desktop: add latest.json finalizer script (#15335)
- desktop: use correct download link in finalize-latest-json
- desktop: fix latest.json finalizer
- @neriousy:
- feat(app): recent projects section in command pallette (#15270)
- fix(app): show proper usage limit errors (#15496)
- fix(app): make provider icon resolved id reactive (#15583)
- feat(app): add compact ui (#15578)
- feat(app): show which messages are queued (#15587)
- @pirrozani:
- docs(readme): add Greek translation and update language navigation (#15281)
- @vaur94:
- feat(app): add Turkish (tr) locale for app and ui packages (#15278)
- fix(i18n): polish turkish translations (#15491)
- @jlongster:
- Change keybindings to navigate between child sessions (#14814)
- feat(core): basic implementation of remote workspace support (#15120)
- feat(core): add WorkspaceContext (#15409)
- feat(core): add workspace_id to
sessiontable (#15410)
- @Niraj12chaudhary:
- docs: add missing Bosanski link to Arabic README (#15399)
- @alexyaroshuk:
- fix(app): make bash output selectable (#15378)
- fix(app): display skill name in skill tool call (#15413)
- @jayair:
- docs: Update OpenCode Go subscription and usage details (#15415)
- @rexdotsh:
- fix(app): fallback to synthetic icon for unknown provider IDs (#15295)
- @thdxr:
- docs: fix broken config imports in translated documentation
- feat(tui): improve task tool display with subagent keybind hints and spinner animations (#15607)
- tui: use arrow indicator for active tool execution (#15887)
- tui: show pending toolcall count instead of generic 'Running...' message
- tui: replace curved arrow with straight arrow for better terminal compatibility
- @inkdust2021:
- docs(ecosystem): add opencode-vibeguard (#15464)
- @ryanwyler:
- fix: kill orphaned MCP child processes and expose OPENCODE_PID on shu… (#15516)
- @rianvdm:
- fix(opencode): show human-readable message for HTML error responses (#15407)
- @noamzbr:
- fix: project ID conflict, and update on same session id (#15596)
- @bentrd:
- fix: recover from 413 Request Entity Too Large via auto-compaction (#14707)
- @ryanskidmore:
- fix(opencode): clone part data in Bus event to preserve token values (#15780)
- fix(provider): forward metadata options to cloudflare-ai-gateway provider (#15619)
- @jerome-benoit:
- fix(opencode): disable session navigation commands when no parent session (#15762)
- @MrMushrooooom:
- fix(app): stabilize project close navigation (#15817)
- @06ergin06:
- fix: update Turkish translations (#15835)
- @opencode-agent[bot]:
- docs(i18n): sync locale docs from english changes
- @kommander:
- Upgrade opentui to v0.1.86 and activate markdown renderable by default (#14974)
- @elithrar:
- fix(auth): normalize trailing slashes in auth login URLs (#15874)
- @hdcodedev:
- fix: correct package paths and commands in CONTRIBUTING.md
- @apoorvumang:
- feat: add reasoning effort support for Inception Mercury-2
- fix: remove instant reasoning effort for mercury-2 on kilo gateway and direct inception
- fix: use mercury-2 model ID in tests instead of mercury-2-coder
- Merge branch 'main' into feat/inception-mercury2-reasoning-effort
- @kilo-code-bot[bot]:
- docs: update Auto Model Frontier tier from Sonnet 4.5 to Sonnet 4.6
- Remove outdated vercel-ai-gateway architecture doc
- Remove references to deleted vercel-ai-gateway architecture doc
- fix: prevent infinite loop in visual regression CI when screenshots are non-deterministic
- fix: use commit message check instead of re-running tests for loop prevention
- fix: eliminate network dependency in avatar visual regression test
- feat(sdk): add workspace query param to worktree diff endpoints
- fix: use avatar silhouette image instead of solid black for WithImage story
- fix: remove stale screenshots for deleted stories in visual regression CI
- fix: use timestamp-based stale screenshot detection instead of deleting all baselines
- fix: use storybook index to detect stale baselines instead of timestamps
- revert: restore original baseline screenshots
- @evanjacobson:
- Add KiloClaw architecture diagram to architecture overview docs
- Merge pull request #6954 from Kilo-Org/docs/kiloclaw-architecture-diagram
- feat(kilo-docs): add PostHog reverse proxy via Next.js rewrites
- chore(kilo-docs): remove dead POSTHOG_HOST env var comment
- chore(kilo-docs): add inline comments to PostHog proxy config
- fix(kilo-docs): add basePath: false to PostHog proxy rewrites
- Merge pull request #7005 from Kilo-Org/improvement/posthog-reverse-proxy-kilo-docs
- @kirillk:
- feat(vscode): surface CLI startup errors in the extension
- style(vscode): remove redundant color declarations from startup error banner
- fix(vscode): include CLI path in startup error message
- style(vscode): use editor background for startup error details panel
- Merge branch 'main' into kirillk/cli-init-failure-6209
- feat(vscode): surface userMessage/userDetails in StartupErrorBanner
- test(vscode): add tests for toErrorMessage and improve Error: line matching
- feat(vscode): add i18n for cli-backend server errors and translate all locales
- unescape header text
- fix(vscode): deduplicate concurrent initializeConnection calls to prevent orphaned subscriptions
- Merge pull request #6955 from Kilo-Org/kirillk/cli-init-failure-6209
- fix: show full text in question option descriptions instead of truncating with ellipsis
- fix: wrap long mode descriptions instead of truncating with ellipsis
- revert model switcher changes
- fix(vscode): use vscode-font-size token for mode switcher item
- model popover fixes
- fix(vscode): selected mode description inherits active selection foreground
- Merge pull request #7008 from Kilo-Org/kirillk/model-selector-ui
- Merge pull request #7007 from Kilo-Org/kirillk/chat-options-truncate-6988
- @imanolmzd-svg:
- fix: run script/format.ts
- Merge pull request #6984 from Kilo-Org/fix/formatting-applied
- @marius-kiloclaw:
- fix(mcp-migrator): handle malformed JSON in legacy .kilocode/mcp.json (#7012)