Catriel Müller
f137ce623d
feat: merge opencode v1.1.51
2026-02-05 09:50:16 -03:00
Catriel Müller
78da7d7b8d
refactor: kilo compat for v1.1.51
2026-02-05 09:45:17 -03:00
Catriel Müller
dd7da05bd9
feat: merge opencode v1.1.50
2026-02-04 18:24:00 -03:00
Catriel Müller
1520bd4482
refactor: kilo compat for v1.1.50
2026-02-04 18:07:12 -03:00
Catriel Müller
452320af42
feat: merge opencode v1.1.49
2026-02-04 17:06:38 -03:00
Catriel Müller
15ae2b1b1e
refactor: kilo compat for v1.1.49
2026-02-04 16:43:32 -03:00
Catriel Müller
1a0b0077dc
feat: merge opencode v1.1.48
2026-02-04 14:48:20 -03:00
Catriel Müller
b0b442da2c
refactor: kilo compat for v1.1.48
2026-02-04 14:43:20 -03:00
Catriel Müller
a3cdff968c
Merge branch 'dev' into catrielmuller/kilo-opencode-v1.1.43
2026-02-04 13:15:59 +01:00
Marius
452ab52d47
feat: enable reasoning for Claude models via Kilo Gateway ( #101 )
...
* feat: enable reasoning for Claude models via Kilo Gateway
Enable extended thinking/reasoning support for Claude models when using
Kilo Gateway (OpenRouter-based). This includes:
- Add Kilo Gateway to OpenRouter SDK key mapping
- Skip toolCallId normalization for OpenRouter/Kilo to preserve thinking blocks
- Strip thinking/reasoning blocks from messages before sending to avoid
Anthropic API signature validation errors (blocks must be unchanged)
- Skip caching for OpenRouter/Kilo to avoid modifying thinking blocks
- Add Claude-specific reasoning effort variants for Kilo Gateway
- Enable default medium reasoning effort for Claude via Kilo Gateway
- Add proper smallOptions handling for Claude vs other models
The key insight is that Anthropic's API requires thinking blocks to be
EXACTLY unchanged with valid signatures. Since our storage reconstructs
messages, we strip thinking blocks (already shown to user) rather than
risk signature validation failures.
* fix: drop empty messages after stripping thinking blocks
2026-02-04 12:19:02 +01:00
Sergiy Dybskiy
b942e0b4dc
fix: prevent double-prefixing of Bedrock cross-region inference models ( #12056 )
2026-02-03 23:06:17 -06:00
Łukasz Gładysz
6daa962aaa
fix: prioritize OPENCODE_CONFIG_DIR for AGENTS.md ( #11536 )
2026-02-04 01:35:22 +00:00
Max Leiter
93e060272a
fix: prevent memory leaks from AbortController closures ( #12024 )
2026-02-03 17:51:26 -06:00
Aiden Cline
a68fedd4a6
chore: adjust way skill dirs are whitelisted ( #12026 )
2026-02-03 16:33:36 -06:00
Catriel Müller
88f06392d5
resolve merge conflicts
2026-02-03 19:28:35 -03:00
Catriel Müller
6131bb35e5
refactor: kilo compat for v1.1.43
2026-02-03 18:25:15 -03:00
Idris Gadi
95211a8854
feat(tui): allow theme colors in agent customization ( #11444 )
2026-02-03 15:09:21 -06:00
Dax
17e62b050f
feat: add support for reading skills from .agents/skills directories ( #11842 )
...
Co-authored-by: Filip <34747899+neriousy@users.noreply.github.com >
2026-02-03 15:51:54 -05:00
Aiden Cline
857b8a4b56
test: add test for new skill improvements ( #11969 )
2026-02-03 16:05:10 +00:00
Aiden Cline
3975329629
feat: improve skills, better prompting, fix permission asks after invoking skills, ensure agent knows where scripts/resources are ( #11737 )
2026-02-03 09:58:31 -06:00
Muhammad Mugni Hadi
3741516fe3
fix: handle nested array items for Gemini schema validation ( #11952 )
2026-02-03 09:24:52 -06:00
Marius
f27c1a8277
Revert "feat: add Claude extended thinking variants for Kilo Gateway ( #86 )" ( #87 )
...
This reverts commit 38c6b26db9 .
2026-02-03 10:22:12 +01:00
Marius
38c6b26db9
feat: add Claude extended thinking variants for Kilo Gateway ( #86 )
...
Enable reasoning effort level cycling (Ctrl+T) for Claude models through
Kilo Gateway by:
- Adding @kilocode/kilo-gateway to sdkKey() to use 'openrouter' key for
provider options
- Adding dedicated variants() case for Claude/Anthropic models with full
effort levels (none, minimal, low, medium, high, xhigh)
- Supporting grok-3-mini reasoning variants through Kilo Gateway
- Fixing smallOptions() to use correct reasoning.effort format
OpenRouter maps effort levels to budget_tokens percentages:
- xhigh: 95%, high: 80%, medium: 50%, low: 20%, minimal: 10%, none: 0%
2026-02-03 09:42:20 +01:00
Catriel Müller
9ab79857ce
Code Agent ( #84 )
...
* refactor: rename build agent to code
* refactor: add backward compat for build config
2026-02-03 08:04:27 +01:00
Filip
d116c227e0
fix(core): plugins are always reinstalled ( #9675 )
2026-02-03 00:47:52 -06:00
Kiyoung Chang
3adeed8f97
fix(provider): strip properties/required from non-object types in Gemini schema ( #11888 )
2026-02-02 23:13:24 -06:00
Aiden Cline
188cc24bfc
chore: cleanup external_dir perm logic ( #11845 )
2026-02-02 16:43:55 -06:00
Aiden Cline
aa6b552c39
Revert pr that was mistakenly merged ( #11844 )
2026-02-02 15:28:02 -06:00
Adam
3b93e8d95c
fix(app): added/deleted file status now correctly calculated
2026-02-02 14:24:23 -06:00
Igor Šćekić
d06d57c186
Merge pull request #73 from Kilo-Org/add-some-defensive-code-around-getting-org-id
2026-02-02 16:05:10 +01:00
Igor Šćekić
b04e8e877c
fix(kilo-sessions): handle sync throws in inflight cache
...
Wrap callback execution in a promise microtask so synchronous errors flow
through the existing `.catch()` and the in-flight entry is reliably cleaned
up. Update tests to await the microtask before asserting call count.
2026-02-02 15:41:37 +01:00
Igor Šćekić
18934825aa
test(kilo-sessions): update in-flight cache test for undefined values
2026-02-02 14:49:07 +01:00
Igor Šćekić
e815689023
fix(kilo-sessions): await in-flight refresh to avoid stale reads
...
Always return the in-flight promise when a refresh is running so callers
don’t receive an expired cached value. Preserve the original timestamp
until refresh succeeds and only update it on successful recompute to
avoid masking failed refreshes.
2026-02-02 13:37:08 +01:00
Igor Šćekić
9a4fb8c786
test(kilo-sessions): add in-flight cache behavior tests
2026-02-02 13:24:42 +01:00
Igor Šćekić
960bc15133
test(kilo-sessions): move ingest queue test suite
2026-02-02 13:24:02 +01:00
Catriel Müller
1b5ef0737f
Merge OpenCode v1.1.42 ( #67 )
...
* chore: details
* fix(tui): add visual feedback for diff wrap and conceal toggles (#10655 )
* fix: await SessionRevert.cleanup for shell (#10669 )
* fix: Make diff wrapping toggle always available in command_list and correct a type error (resolves #10682 ) (#10683 )
* feat(app): default servers on web
* fix(app): handle non-tool call permissions
* fix(app): line selection waits on ready
* wip(app): model settings
* feat(app): model settings
* chore: generate
* wip(app): sidebar hover full
* wip(app): full-height sidebar
* wip(app): full-height sidebar
* feat(app): better sidebar hover when collapsed
* fix(app): query selector with non-latin chars
* chore: stale-while-revalidate headers for changelog
* chore: generate
* feat(opencode): add agent description (#10680 )
* feat: dynamically resolve AGENTS.md files from subdirectories as agent explores them (#10678 )
* chore: gen changelog page off changelog json
* upgrade opentui to v0.1.75
* chore: update nix node_modules hashes
* fix: move changelog footer outside content div to fix padding (#10712 )
* fix(app): Order themes alphabetically (#10698 )
* fix(app): restore external link opening in system browser (#10697 )
* fix(ui): use focus-visible instead of focus to prevent sticky hover effect on click (#10651 )
* fix: add 44px top padding to sticky version header on changelog (#10715 )
* feat(app): file tree
* wip(app): file tree mode
* wip(app): file tree mode
* chore: cleanup
* chore: cleanup
* chore(app): createStore over signals
* fix(enterprise): add message navigation to share page desktop view (#10071 )
Co-authored-by: Claude <noreply@anthropic.com >
* chore: fix changelog page
* Revert "fix(app): restore external link opening in system browser (#10697 )"
This reverts commit 984518b1c0 .
* ignore: tweak ai deps
* feat: use anthropic compat messages api for anthropic models through copilot
* chore: debug changelog
* fix: ensure openai 404 errors are retried (#10590 )
* chore: generate
* test(app): e2e test for sidebar nav
* chore: refactor changelog
* fix(app): session load cap
* chore(app): missing i18n strings
* chore: cleanup
* fix(app): session sync issue
* chore: generate
* fix(ui): update button styles and disconnect button size
* fix(app): set provider row height to 56px
* fix(app): add hover text for env-connected providers
* fix(app): use default cursor for env provider text
* feat(ui): add providers icon and use in settings
* feat(ui): add models icon and use in settings
* fix(app): style view all button with interactive color and margin
* feat(ui): add optional transition animations to dialog
* fix(ui): prevent double-close and fix dialog replacement
* feat(app): add transition to select provider dialog
* feat(app): add transition to command palette
* fix(ui): reduce dialog transition in time to 150ms
* feat(app): add provider descriptions to settings
* feat(app): add Vercel AI Gateway provider description
* fix(ui): scope filetree pill tabs styling
* fix(app): adjust filetree panel padding
* fix(app): tighten filetree row spacing
* fix(app): use chevron icons for filetree folders
* fix(app): use medium font for filetree items
* fix(app): refine filetree row spacing and indent
* fix(app): reduce filetree folder indent
* fix(app): dim non-deep filetree guide lines
* fix(app): fade filetree guide lines on hover
* fix(app): move file tree toggle to right
* fix(app): disable tooltips in filetree tabs
* test(app): fix e2e test
* ci: add stale pr job
* ci: add dry-run option to stale PR closer workflow
Allows testing stale PR closure without actually closing PRs
* tweak: retry logic to catch certain provider problems
* fix(app): disconnect zen provider
* fix(app): zen disconnect not working
* chore: generate
* chore: cleanup
* fix: search clear icon
* wip: new release modal
- highlight key updates or new features
- needs some transition love
- all copy including text and video placeholder
* chore: cleanup
* wip: highlights
* wip: highlights
* wip: highlights
* tweak: when using messages api for copilot, attach anthropic beta headers
* chore: don't flip github draft release automatically
* fix(app): file tree performance
* fix(app): reactive file tree
* chore: generate
* chore: cleanup
* fix(app): enable file watcher
* chore: cleanup
* chore: cleanup
* test(app): file tree spec
* feat(release): add highlights template to draft releases (#10745 )
* docs: add Italian README (#10732 )
* chore: generate
* fix(app): add connect provier in model selector (#10706 )
* fix(desktop): disable magnification gestures on macOS (#10605 )
* feat: add /learn command to extract session learnings to scoped AGENTS.md files (#10717 )
* fix: use Instance.directory instead of process.cwd() in read tool
* fix(core): expose Instance.directory to custom tools
* fix(app): only show files in select dialog when clicking + tab
* desktop: deduplicate tauri configs
* ignore: update download stats 2026-01-27
* fix(app): auto-scroll button sometimes sticks
* chore(app): missing tooltips
* feat(app): forward and back buttons
* chore: cleanup
* feat(core): add worktree to plugin tool context
* fix(app): agent fallback colors
* fix(app): non-fatal error handling
* docs(core): plugin tool context updates
* fix(ui): set filetree tablist height to 48px with centered content
* fix(app): center filetree empty state with 32px top margin
* fix(app): update review empty states to 14px and align select file empty state
* fix(app): only show left border on plus button when sticky
* fix(app): use smaller close icon on tabs to match comment cards
* fix(ui): add max-width 280px to tabs with text truncation
* fix(app): don't show session skeleton after workspace reset
* perf(app): don't keep parts in memory
* perf(app): cleanup connect provider timers
* perf(app): shared terminal ghostty-web instance
* fix(app): select model anchor
* Revert "fix(app): select model anchor"
This reverts commit 36babf5fc390fd9a892ad3742690740296d94a23.
* fix(app): open markdown links in external browser
* fix(app): navigate to tabs when opening file
* chore(app): cleanup tailwind vs pure css
* fix(app): tooltips causing getComputedStyle errors in model select
* fix(app): swallow file search errors
* feat(opencode): Handle Venice cache creation tokens (#10735 )
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com >
* chore: generate
* chore(docs): Better explanation on how to allow tools in external directories (#10862 )
* tweak: adjust retry check to be more defensive
* ci: make tests passing a requirement pre-release
* zen: kimi k2.5 and minimax m2.1
* feat(app): update settings in general settings
* chore(app): translations
* test(app): new e2e smoke tests
* feat(app): show loaded agents.md files
* fix(app): session diffs not always loading
* feat(app): improved layout
* chore: generate
* tweak: add recommended topP/temp for kimi k2.5
* Set temperature for kimi k2.5
* Revert "ci: make tests passing a requirement pre-release"
This reverts commit 8c00818108 .
* Revert "Set temperature for kimi k2.5"
This reverts commit bb63d16fa8 .
* feat(app): color filetree change dots by diff kind
* feat(app): add filetree tooltips with diff labels
* fix(app): shorten nav tooltips
* fix(app): adjust titlebar left spacing
* fix(app): delay nav tooltips
* fix(app): align filetree change styling
* fix(app): set filetree padding to 6px
* fix(app): highlight selected change
Track clicked file in the Changes tree and apply selection styling to the matching review diff.
* chore(app): show 5 highlights
* fix(app): auto-scroll
* fix(app): don't connect to localhost through vpn
* perf(app): better memory management
* chore: cleanup
* feat(desktop): i18n for tauri side
* feat(desktop): tauri locales
* fix(app): not auto-navigating to last project
* chore: update nix node_modules hashes
* fix(tui): handle 4-5 codes too in c to copy logic
* fix(app): spinner color
* fix(app): file tree not always loading
* test(app): fix outdated e2e test
* test(app): fix outdated e2e test
* fix(app): file tree not always loading
* fix(app): terminal corruption
* feat(app): add 'connect provider' button to the manage models dialog (#10887 )
* fix(app): auto-scroll
* feat: support headless authentication for chatgpt/codex (#10890 )
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com >
Co-authored-by: Aiden Cline <aidenpcline@gmail.com >
* fix(app): reintroduce review tab
* release: v1.1.37
* feat(app): use opentui markdown component behind experimental flag (#10900 )
* chore: generate
* docs: add Daytona OpenCode plugin to ecosystem (#10917 )
* chore: generate
* fix(cli): restore brand integrity of CLI wordmark (#10912 )
* zen: kimi k2.5
* fix(opencode): ensure unsub(PartUpdated) is always called in TaskTool (#9992 )
* chore: generate
* ignore: adjust flag
* bump plugin version
* ci
* fix: ensure parallel tool calls dont double load AGENTS.md
* release: v1.1.38
* fix: ensure copilot plugin properly sets headers for new messages api
* chore: generate
* release: v1.1.39
* bump: plugins
* ignore: update download stats 2026-01-28
* chore(app): global config changes
* feat(app): custom provider
* chore: cleanup
* wip(app): global config
* chore: cleanup
* chore: cleanup
* chore: generate
* feat(i18n): add th locale support (#10809 )
* chore: generate
* fix(desktop): enable ctrl+n and ctrl+p for popover navigation (#10777 )
* fix: add SubtaskPart with metadata reference (#10990 )
Co-authored-by: yangtianzhe <yangtianzhe@corp.netease.com >
* chore: generate
* fix(app): close review pane
* fix(markdown): Add streaming prop to markdown element (#11025 )
* release: v1.1.40
* fix(script): remove highlights template from release notes (#11052 )
* chore: generate
* fix(ui): allow KaTeX inline math to be followed by punctuation (#11033 )
* fix(app): alignment and padding in dialogs (#10866 )
* fix(app): fill missing zh keys to avoid English fallback (#10841 )
* chore: generate
* fix(opencode): normalize zh punctuation for Chinese UI (#10842 )
* fix(ui): improve zh duration display formatting (#10844 )
* fix(opencode): add `AbortSignal` support to `Ripgrep.files()` and `GlobTool` (#10833 )
* fix(typescript errors): remove duplicate keys causing typescript failures (#11071 )
* fix(app): file tabs - auto scroll on open & scroll via mouse wheel (#11070 )
* tweak: add ctx.abort to grep tool
* fix(app): types
* docs: update experimental environment variables in CLI docs (#11030 )
* fix(app): make settings more responsive for mobile and small web/desktop (#10775 )
* chore: generate
* fix(opencode): allow media-src data: URL for small audio files (#11082 )
* fix(provider): include providerID in SDK cache key (#11020 )
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
* fix: maxOutputTokens was accidentally hardcoded to undefined (#10995 )
* fix: ensure variants for copilot models work w/ maxTokens being set
* release: v1.1.41
* test: fix test
* chore: generate
* feat(cli): include cache tokens in stats (#10582 )
* ci: adjust team
* guard destroyed input field in timeout
* feat: Sequential numbering for forked session titles (Issue #10105 ) (#10321 )
* more timeout race guards
* fix: ensure that kimi doesnt have fake variants available
* fix: frontmatter was adding newlines in some cases causing invalid model ids (#11095 )
Co-authored-by: aptdnfapt <aptdnfapt@users.noreply.github.com >
* fix: undo change that used anthropic messages endpoint for anthropic models on copilot due to ratelimiting issues, go back to completions endpoint instead
* release: v1.1.42
* fix: fix types
* fix: fix kilocode/sdk type
* chore: update nix node_modules hashes
---------
Co-authored-by: adamelmore <2363879+adamdottv@users.noreply.github.com >
Co-authored-by: Idris Gadi <85882535+IdrisGit@users.noreply.github.com >
Co-authored-by: Noam Bressler <noamzbr@gmail.com >
Co-authored-by: Ariane Emory <97994360+ariane-emory@users.noreply.github.com >
Co-authored-by: GitHub Action <action@github.com >
Co-authored-by: Steffen Deusch <steffen@deusch.me >
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com >
Co-authored-by: Sebastian Herrlinger <hasta84@gmail.com >
Co-authored-by: Ryan Vogel <ryan@mandarin3d.com >
Co-authored-by: Sam Huckaby <samhuckaby@gmail.com >
Co-authored-by: Alex Yaroshuk <34632190+alexyaroshuk@users.noreply.github.com >
Co-authored-by: Rahul A Mistry <149420892+ProdigyRahul@users.noreply.github.com >
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com >
Co-authored-by: zerone0x <hi@trine.dev >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Aiden Cline <aidenpcline@gmail.com >
Co-authored-by: Tim <hello@timsmart.co >
Co-authored-by: David Hill <iamdavidhill@gmail.com >
Co-authored-by: Fabio Martino <fabiomartino@users.noreply.github.com >
Co-authored-by: Chris Yang <18487241+ysm-dev@users.noreply.github.com >
Co-authored-by: Brendan Allan <git@brendonovich.dev >
Co-authored-by: dpuyosa <dpuyosa@users.noreply.github.com >
Co-authored-by: OpeOginni <107570612+OpeOginni@users.noreply.github.com >
Co-authored-by: Frank <frank@anoma.ly >
Co-authored-by: Rohan Godha <git@rohangodha.com >
Co-authored-by: opencode <opencode@sst.dev >
Co-authored-by: Tommy D. Rossi <beats.by.morse@gmail.com >
Co-authored-by: James Murdza <james@jamesmurdza.com >
Co-authored-by: Tito <github@mynameistito.com >
Co-authored-by: Goni Zahavy <goni1993@gmail.com >
Co-authored-by: Dax Raad <d@ironbay.co >
Co-authored-by: Nattawee Phantawong <crozzio@gmail.com >
Co-authored-by: Sairaj <sairaj2119@gmail.com >
Co-authored-by: RenegadeE <37529469+YangTianz@users.noreply.github.com >
Co-authored-by: yangtianzhe <yangtianzhe@corp.netease.com >
Co-authored-by: Max Kong <kongzheyuan@outlook.com >
Co-authored-by: Julian Coy <julian@juliancoy.com >
Co-authored-by: Babou <42550761+bbabou@users.noreply.github.com >
Co-authored-by: Devin Griffin <31415269+DNGriffin@users.noreply.github.com >
Co-authored-by: tan <zerotanapok@gmail.com >
Co-authored-by: Saba Tchikhinashvili <38084512+saba-ch@users.noreply.github.com >
Co-authored-by: ideallove <20013535+ideallove@users.noreply.github.com >
Co-authored-by: Benjamin Oldenburg <benjamin.oldenburg@ordis.co.th >
Co-authored-by: aptdnfapt <aptdnfapt@users.noreply.github.com >
Co-authored-by: marius-kilocode <marius@kilocode.ai >
2026-02-02 12:47:09 +01:00
Igor Šćekić
38406b1c85
Merge pull request #72 from Kilo-Org/add-support-for-missing-cli-session-metadata
2026-02-02 12:39:40 +01:00
Igor Šćekić
b4b05db389
refactor(share): rename ShareNext to KiloSessions
...
Move share/ingest modules under kilo-sessions and update bootstrap and
session share/unshare/remove flows to use KiloSessions. Update ingest
queue test imports accordingly.
2026-02-02 12:39:24 +01:00
Jigar
43354eeabd
fix: convert system message content to string for Copilot provider ( #11600 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-01 23:28:28 -06:00
Dax Raad
0f3630d936
ci: skip unicode filename test due to inconsistent behavior causing CI failures
2026-02-01 21:01:57 -05:00
Aiden Cline
5db089070a
test: add unit test
2026-02-01 19:26:23 -05:00
Aiden Cline
f6948d0ffa
fix: variant logic for anthropic models through openai compat endpoint ( #11665 )
2026-02-01 14:50:49 -06:00
Rohan Godha
ca5e85d6ea
fix: prompt caching for opus on bedrock ( #11664 )
2026-02-01 14:42:42 -06:00
neavo
f15755684f
fix(opencode): scope agent variant to model ( #11410 )
2026-02-01 14:12:30 -06:00
YeonGyu-Kim
16145af480
fix: prevent duplicate AGENTS.md injection when reading instruction files ( #11581 )
...
Co-authored-by: Aiden Cline <aidenpcline@gmail.com >
2026-02-01 13:46:08 -06:00
zerone0x
cc1d3732bc
fix(tui): remove outer backtick wrapper in session transcript tool formatting ( #11566 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-02-01 13:11:18 -06:00
Joscha Götzer
3577d829c2
fix: allow user plugins to override built-in auth plugins ( #11058 )
...
Co-authored-by: JosXa <info@josxa.dev >
2026-02-01 10:50:41 -06:00
Aiden Cline
d1d7447493
fix: ensure switching anthropic models mid convo on copilot works without errors, fix issue with reasoning opaque not being picked up for gemini models ( #11569 )
2026-02-01 01:36:44 -06:00
Aiden Cline
d4c90b2dfb
fix: issue where you couldn't @ folders/files that started with a "." ( #11553 )
2026-01-31 21:01:51 -06:00
Brendan O'Leary
501a80f590
Merge pull request #53 from Kilo-Org/bdo/markdown-table-formating
2026-02-01 03:06:55 +01:00