Commit graph

3094 commits

Author SHA1 Message Date
Rian van der Merwe
6b7e6bde4d
fix(opencode): show human-readable message for HTML error responses (#15407) 2026-03-01 09:24:57 -06:00
ryanwyler
c4c0b23bff
fix: kill orphaned MCP child processes and expose OPENCODE_PID on shu… (#15516) 2026-03-01 18:08:17 +05:30
James Long
3ee1653f40
feat(core): add workspace_id to session table (#15410) 2026-02-28 22:09:53 -05:00
James Long
cec16dfe95
feat(core): add WorkspaceContext (#15409) 2026-02-28 20:44:54 -05:00
James Long
c12ce2ffff
feat(core): basic implementation of remote workspace support (#15120) 2026-02-27 15:36:39 -05:00
James Long
3dc10a1c16
Change keybindings to navigate between child sessions (#14814) 2026-02-27 09:41:23 -05:00
Adam
8c484a05b8
fix(app): terminal issues 2026-02-26 15:52:35 -06:00
David Hill
7453e78b35
feat: opencode go provider list (#15203) 2026-02-26 14:37:33 +00:00
Sebastian
9d29d692c6
split tui/server config (#13968) 2026-02-25 23:53:09 +01:00
Shantur Rathore
79b5ce58e9
feat(core): add message delete endpoint (#14417) 2026-02-25 09:25:26 -05:00
Ayush Thakur
088a81c116
fix: consume stdout concurrently with process exit in auth login (#15058) 2026-02-25 08:22:52 -05:00
Dax Raad
561f9f5f05 opencode go copy 2026-02-25 01:54:28 -05:00
Dax Raad
3c6c74457d sync 2026-02-25 01:48:10 -05:00
Dax
637059a515
feat: show LSP errors for apply_patch tool (#14715) 2026-02-25 04:15:11 +00:00
Dax Raad
fa559b0385 core: temporarily disable plan enter tool to prevent unintended mode switches during task execution 2026-02-24 23:05:26 -05:00
Dax
814c1d398c
refactor: migrate Bun.spawn to Process utility with timeout and cleanup (#14448) 2026-02-24 23:04:15 -05:00
Luke Parker
da40ab7b3d
fix(opencode): disable config bun cache in CI (#14985) 2026-02-25 11:38:23 +10:00
Luke Parker
e718263778
fix(project): await git id cache write (#14977) 2026-02-25 00:46:12 +00:00
Luke Parker
3af12c53c4
fix(opencode): import custom tools via file URL (#14971) 2026-02-25 10:24:47 +10:00
James Long
2c00eb60bd
feat(core): add workspace-serve command (experimental) (#14960) 2026-02-24 17:34:34 -05:00
Noam Bressler
2cee947671
fix: ACP both live and load share synthetic pending status preceeding… (#14916) 2026-02-24 23:54:10 +10:00
Luke Parker
36197f5ff8
fix(win32): add 50ms tolerance for NTFS mtime fuzziness in FileTime assert (#14907) 2026-02-24 23:10:10 +10:00
Luke Parker
1a0639e5b8
fix(win32): normalize backslash paths in config rel() and file ignore (#14903) 2026-02-24 22:42:48 +10:00
Luke Parker
1af3e9e557
fix(win32): fix plugin resolution with createRequire fallback (#14898) 2026-02-24 22:20:57 +10:00
Luke Parker
a292eddeb5
fix(test): harden preload cleanup against Windows EBUSY (#14895) 2026-02-24 21:59:14 +10:00
Noam Bressler
888b123387
feat: ACP - stream bash output and synthetic pending events (#14079)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-02-24 21:14:47 +10:00
Luke Parker
13cabae29f
fix(win32): add git flags for snapshot operations and fix tests for cross-platform (#14890) 2026-02-24 21:14:16 +10:00
Luke Parker
659068942e
fix(win32): handle CRLF line endings in markdown frontmatter parsing (#14886) 2026-02-24 20:33:22 +10:00
adamelmore
9f4fc5b72a
Revert "fix(app): terminal issues"
This reverts commit e70d2b27de.
2026-02-22 21:27:25 -06:00
Luke Parker
ee754c46f9
fix(win32): normalize paths at permission boundaries (#14738) 2026-02-23 12:05:21 +10:00
Erik Demaine
0042a07052
fix: Windows path support and canonicalization (#13671)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-02-23 10:10:27 +10:00
Erik Demaine
a74fedd23b
fix(desktop): change detection on Windows, especially Cygwin (#13659)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-02-23 09:49:05 +10:00
Adam
e70d2b27de
fix(app): terminal issues 2026-02-22 06:17:59 -06:00
Ryan Vogel
7419ebc872
feat: add list sessions for all sessions (experimental) (#14038) 2026-02-20 08:45:12 -05:00
Adam
4e9ef3ecc1
fix(app): terminal issues (#14435) 2026-02-20 07:34:36 -06:00
Matt Silverlock
2410593023
fix(github): support variant in github action and opencode github run (#14431) 2026-02-20 13:20:54 +00:00
Shoubhit Dash
ac0b37a7b7
fix(snapshot): respect info exclude in snapshot staging (#13495) 2026-02-20 07:02:25 -06:00
Matt Silverlock
93615bef28
fix(cli): missing plugin deps cause TUI to black screen (#14432) 2026-02-20 07:39:15 -05:00
Aiden Cline
1a329ba47d
fix: issue from structuredClone addition by using unwrap (#14359) 2026-02-19 19:28:06 -06:00
NatChung
d2d7a37bca fix: add missing id/sessionID/messageID to MCP tool attachments (#14345) 2026-02-19 18:37:56 -06:00
Michael Hart
8ad60b1ec2 Use structuredClone instead of remeda's clone (#14351)
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: Dax <mail@thdxr.com>
2026-02-19 18:37:56 -06:00
Dax
01d518708a remove unnecessary deep clones from session loop and LLM stream (#14354) 2026-02-19 18:37:55 -06:00
opencode-agent[bot]
686dd330a0 chore: generate 2026-02-19 22:19:09 +00:00
tctev
193013a44d
feat(opencode): support adaptive thinking for claude sonnet 4.6 (#14283)
Co-authored-by: tctev <224793535+tctev@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-19 16:17:57 -06:00
Yanosh Kunsh
824ab4cecc
feat(tui): add custom tool and mcp call responses visible and collapsable (#10649)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-02-19 15:36:40 -06:00
Matt Silverlock
1a1437e78b
fix(github): action branch detection and 422 handling (#14322)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-02-19 15:11:59 -06:00
Adam
f8dad0ae17
fix(app): terminal issues (#14329) 2026-02-19 14:54:09 -06:00
Shantur Rathore
190d2957eb
fix(core): normalize file.status paths relative to instance dir (#14207) 2026-02-19 14:17:36 -06:00
Dax
cb8b74d3f1
refactor: migrate from Bun.Glob to npm glob package (#14317) 2026-02-19 13:40:09 -05:00
Aiden Cline
7e35d0c610
core: bump ai sdk packages for google, google vertex, anthropic, bedrock, and provider utils (#14318) 2026-02-19 12:35:51 -06:00
Aiden Cline
5364ab74a2
tweak: add support for medium reasoning w/ gemini 3.1 (#14316) 2026-02-19 12:00:56 -06:00
Dax Raad
af72010e9f Revert "refactor: migrate from Bun.Glob to npm glob package"
This reverts commit 3c21735b35.
2026-02-19 12:48:43 -05:00
Dax Raad
3c21735b35 refactor: migrate from Bun.Glob to npm glob package
Replace Bun.Glob usage with a new Glob utility wrapper around the npm 'glob' package.
This moves us off Bun-specific APIs toward standard Node.js compatible solutions.

Changes:
- Add new src/util/glob.ts utility module with scan(), scanSync(), and match()
- Default include option is 'file' (only returns files, not directories)
- Add symlink option (default: false) to control symlink following
- Migrate all 12 files using Bun.Glob to use the new Glob utility
- Add comprehensive tests for the glob utility

Breaking changes:
- Removed support for include: 'dir' option (use include: 'all' and filter manually)
- symlink now defaults to false (was true in most Bun.Glob usages)

Files migrated:
- src/util/log.ts
- src/util/filesystem.ts
- src/tool/truncation.ts
- src/session/instruction.ts
- src/storage/json-migration.ts
- src/storage/storage.ts
- src/project/project.ts
- src/cli/cmd/tui/context/theme.tsx
- src/config/config.ts
- src/tool/registry.ts
- src/skill/skill.ts
- src/file/ignore.ts
2026-02-19 12:34:18 -05:00
Dax
02a9495063
Remove use of Bun.file (#14215) 2026-02-19 11:32:32 -05:00
Adam
8ebdbe0ea2
fix(core): text files missclassified as binary 2026-02-19 07:32:58 -06:00
Adam
d07f09925f
fix(app): terminal rework (#14217) 2026-02-19 06:35:14 -06:00
Aiden Cline
308e500832
tweak: bake in the aws and google auth pkgs (#14241) 2026-02-19 00:31:33 -06:00
opencode-agent[bot]
4b878f6aeb chore: generate 2026-02-19 05:19:18 +00:00
Ariane Emory
1893473148
fix: token substitution in OPENCODE_CONFIG_CONTENT (alternate take) (#14047) 2026-02-18 23:18:24 -06:00
Dax Raad
11a37834c2 tui: ensure onExit callback fires after terminal output is written 2026-02-18 20:43:50 -05:00
Dax Raad
568eccb4c6 Revert: all refactor commits migrating from Bun.file() to Filesystem module 2026-02-18 19:41:14 -05:00
Dax
3a07dd8d96
refactor: migrate src/project/project.ts from Bun.file() to Filesystem/stat modules (#14126) 2026-02-18 19:37:10 -05:00
Dax
14c0989411
refactor: migrate src/tool/read.ts from Bun.file() to Filesystem module (#14118) 2026-02-18 19:29:11 -05:00
Dax
36bc07a5af
refactor: migrate src/tool/write.ts from Bun.file() to Filesystem module (#14119) 2026-02-18 19:27:11 -05:00
Dax
270b807cdf
refactor: migrate src/tool/edit.ts from Bun.file() to Filesystem module (#14120) 2026-02-18 19:26:45 -05:00
Dax
bd52ce5640
refactor: migrate remaining tool files from Bun.file() to Filesystem/stat modules (#14121) 2026-02-18 19:24:21 -05:00
Dax
a624871ccd
refactor: migrate src/storage/storage.ts from Bun.file()/Bun.write() to Filesystem module (#14122) 2026-02-18 19:21:21 -05:00
Dax
819d09e64e
refactor: migrate src/storage/json-migration.ts from Bun.file() to Filesystem module (#14123) 2026-02-18 19:20:40 -05:00
Dax
9e6cb89101
refactor: migrate src/mcp/auth.ts from Bun.file()/Bun.write() to Filesystem module (#14125) 2026-02-18 19:20:16 -05:00
Dax
a8347c3762
refactor: migrate src/storage/db.ts from Bun.file() to statSync (#14124) 2026-02-18 19:20:03 -05:00
Dax
57b63ea83d
refactor: migrate src/session/prompt.ts from Bun.file() to Filesystem/stat modules (#14128) 2026-02-19 00:18:05 +00:00
Aiden Cline
088eac9d4e
fix: opencode run crashing, and show errored tool calls in output (#14206) 2026-02-18 17:13:01 -06:00
Dax
5fe237a3fd
refactor: migrate src/skill/discovery.ts from Bun.file()/Bun.write() to Filesystem module (#14133) 2026-02-18 23:10:24 +00:00
Dax
ae398539c5
refactor: migrate src/session/instruction.ts from Bun.file() to Filesystem module (#14130) 2026-02-18 18:09:45 -05:00
Dax
359360ad86
refactor: migrate src/provider/provider.ts from Bun.file() to Filesystem module (#14132) 2026-02-18 18:08:48 -05:00
Dax
5d12eb9528
refactor: migrate src/shell/shell.ts from Bun.file() to statSync (#14134) 2026-02-18 22:55:50 +00:00
Dax
6fb4f2a7a5
refactor: migrate src/cli/cmd/tui/thread.ts from Bun.file() to Filesystem module (#14135) 2026-02-18 17:28:41 -05:00
Dax
48dfa45a9a
refactor: migrate src/util/log.ts from Bun.file() to Node.js fs module (#14136) 2026-02-18 17:28:08 -05:00
Dax
97520c827e
refactor: migrate src/provider/models.ts from Bun.file()/Bun.write() to Filesystem module (#14131) 2026-02-18 17:26:13 -05:00
Eduardo Bellido Bellido
87c16374aa
fix(lsp): use HashiCorp releases API for installing terraform-ls (#14200) 2026-02-18 16:11:57 -06:00
Dax
d366a1430f
refactor: migrate src/lsp/server.ts from Bun.file()/Bun.write() to Filesystem module (#14138) 2026-02-18 21:41:07 +00:00
Dax
e37a9081a6
refactor: migrate src/cli/cmd/session.ts from Bun.file() to statSync (#14144) 2026-02-18 16:20:58 -05:00
Dax
a2469d933e
refactor: migrate src/acp/agent.ts from Bun.file() to Filesystem module (#14139) 2026-02-18 16:14:20 -05:00
Dax
3cde93bf2d
refactor: migrate src/auth/index.ts from Bun.file()/Bun.write() to Filesystem module (#14140) 2026-02-18 16:13:50 -05:00
Dax
898bcdec87
refactor: migrate src/cli/cmd/agent.ts from Bun.file()/Bun.write() to Filesystem module (#14142) 2026-02-18 21:08:01 +00:00
Dax
d5971e2da5
refactor: migrate src/cli/cmd/import.ts from Bun.file() to Filesystem module (#14143) 2026-02-18 21:07:32 +00:00
opencode-agent[bot]
2d7c9c9692 chore: generate 2026-02-18 20:15:14 +00:00
Helge Tesdal
1aa18c6cd6
feat(plugin): pass sessionID and callID to shell.env hook input (#13662) 2026-02-18 14:14:18 -06:00
Adam
de25703e9d
fix(app): terminal cross-talk (#14184) 2026-02-18 13:56:05 -06:00
Dax
8bf06cbcc1
refactor: migrate src/global/index.ts from Bun.file() to Filesystem module (#14146) 2026-02-18 13:25:18 -05:00
OpeOginni
be2e6f1926
fix(opencode): update pasteImage to only increment count when the previous attachment is an image too (#14173) 2026-02-18 12:09:09 -06:00
Matt Silverlock
d447b7694a
fix(github): emit PROMPT_TOO_LARGE error on context overflow (#14166) 2026-02-18 11:45:27 -06:00
Dax
5638b782c5
refactor: migrate editor.ts from Bun.file()/Bun.write() to Filesystem module (#14149) 2026-02-18 17:44:33 +00:00
Dax
eb3f337695
refactor: migrate clipboard.ts from Bun.file() to Filesystem module (#14148) 2026-02-18 12:38:44 -05:00
Dax
c88ff3c08b
refactor: migrate src/bun/index.ts from Bun.file()/Bun.write() to Filesystem module (#14147) 2026-02-18 12:38:30 -05:00
Dax
8f4a72c57a
refactor: migrate config/markdown.ts from Bun.file() to Filesystem module (#14151) 2026-02-18 12:35:32 -05:00
Dax
ef155f3766
refactor: migrate file/index.ts from Bun.file() to Filesystem module (#14152) 2026-02-18 12:33:20 -05:00
Dax
a500eaa2d4
refactor: migrate format/formatter.ts from Bun.file() to Filesystem module (#14153) 2026-02-18 12:31:35 -05:00
Dax
472d01fbaf
refactor: migrate cli/cmd/run.ts from Bun.file() to Filesystem/stat modules (#14155) 2026-02-18 17:22:46 +00:00
Dax Raad
a5c15a23e4 core: allow readJson to be called without explicit type parameter
Added default type parameter 'any' to readJson<T> so users can call it without specifying a type when they don't need strict typing. This reduces boilerplate for quick JSON reads where type safety isn't required.
2026-02-18 12:21:25 -05:00
Dax
3d189b42a3
refactor: migrate file/ripgrep.ts from Bun.file()/Bun.write() to Filesystem module (#14159) 2026-02-18 12:10:42 -05:00
Dax
37b24f4870
refactor: migrate index.ts from Bun.file() to Filesystem module (#14160) 2026-02-18 12:03:24 -05:00
Alexander Abramov
38572b8175
feat: add Julia language server support (#14129)
Co-authored-by: Alexander Abramov <abramov231@gmail.com>
2026-02-18 11:02:29 -06:00
Mike Harris
d27dbfe062
fix(cli): session list --max-count not honored, shows too few sessions (#14162) 2026-02-18 10:56:37 -06:00
Dax
6b29896a35
feat: Add centralized filesystem module for Bun.file migration (#14117) 2026-02-18 15:30:52 +00:00
Aiden Cline
25f3eef957
fix: ensure explore subagent has external_directory perm set to ask instead of auto denying (#14060) 2026-02-17 20:16:55 -06:00
Aiden Cline
0ca75544ab
fix: dont autoload kilo (#14052) 2026-02-17 18:42:18 -06:00
RAMA
ad92181fa7
feat: add Kilo as a native provider (#13765) 2026-02-17 17:52:21 -06:00
legao
c56f4aa5d8
refactor: simplify redundant ternary in updateMessage (#13954) 2026-02-17 17:40:14 -06:00
Dax Raad
ad3c192837 tui: exit cleanly without hanging after session ends
- Force process exit after TUI thread completes to prevent lingering processes
- Add 5-second timeout to worker shutdown to prevent indefinite hangs during cleanup
2026-02-17 17:56:39 -05:00
Anton Volkov
5512231ca8
fix(tui): style scrollbox for permission and sidebar (#12752) 2026-02-17 16:24:01 -06:00
Aiden Cline
3b97580621
tweak: ensure read tool uses fs/promises for all paths (#14027) 2026-02-17 16:05:22 -06:00
jackarch-2
cb88fe26aa
chore: add missing newline (#13992) 2026-02-17 16:04:58 -06:00
Aiden Cline
c1b03b728a
fix: make read tool more mem efficient (#14009) 2026-02-17 15:36:45 -06:00
opencode-agent[bot]
2a2437bf22 chore: generate 2026-02-17 21:23:23 +00:00
Nathan Anderson
4ccb82e81a
feat: surface plugin auth providers in the login picker (#13921)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-02-17 15:21:49 -06:00
Eduardo Gomes
fb79dd7bf8
fix: Invalidate oauth credentials when oauth provider says so (#14007)
Co-authored-by: Eduardo Gomes <egomes@cloudflare.com>
2026-02-17 12:46:26 -06:00
David Hill
b784c923a8 tweak(ui): bump button heights and align permission prompt layout 2026-02-17 17:43:37 +00:00
Caleb Norton
47435f6e17
fix: don't fetch models.dev on completion (#13997) 2026-02-17 10:41:03 -06:00
Shoubhit Dash
3dfbb70593
fix(app): recover state after sse reconnect and harden sse streams (#13973) 2026-02-17 07:10:39 -06:00
David Hill
07947bab7d
tweak(tui): new session banner with logo and details (#13970) 2026-02-17 07:43:55 -05:00
Aiden Cline
e35a4131d0
core: keep message part order stable when files resolve asynchronously (#13915) 2026-02-16 18:45:11 -06:00
Aiden Cline
a580fb47d2
tweak: drop ids from attachments in tools, assign them in prompt.ts instead (#13890) 2026-02-16 14:59:57 -06:00
ImmuneFOMO
9d3c81a683
feat(acp): add opt-in flag for question tool (#13562)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-16 14:20:41 -06:00
Zhiyuan Zheng
86e545a23e
fix(opencode): ACP sessions never get LLM-generated titles (#13095) 2026-02-16 14:16:17 -06:00
Ariane Emory
b0afdf6ea4
feat(cli): add session delete command (#13571) 2026-02-16 14:15:34 -06:00
Robert Schadek
160ba295a8
feat(opencode): add dfmt formatter support for D language files (#13867) 2026-02-16 13:14:35 -06:00
OpeOginni
16332a8583
fix(tui): make use of server dir path for file references in prompts (#13781) 2026-02-16 13:14:08 -06:00
Dax
fdad823edc
feat(cli): add db migrate command for JSON to SQLite migration (#13874) 2026-02-16 19:05:21 +00:00
Ryan Vogel
5cc1d6097e
feat(cli): add --continue and --fork flags to attach command (#13879) 2026-02-16 13:45:00 -05:00
Imanol Maiztegui
bb30e06855
fix (tui): Inaccurate tips (#13845) 2026-02-16 09:08:04 -05:00
Rafi Khardalian
45fa5e7199
fix(core): remove unnecessary per-message title LLM calls (#13804) 2026-02-16 06:04:20 -06:00
Aiden Cline
1d041c8861
fix: google vertex var priority (#13816) 2026-02-16 02:41:52 -06:00
Jhin Lee
f7708efa5b
feat: add openai-compatible endpoint support for google-vertex provider (#10303)
Co-authored-by: BlueT - Matthew Lien - 練喆明 <BlueT@BlueT.org>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-16 02:31:48 -06:00
dpuyosa
afd0716cbd
feat(opencode): Add Venice support in temperature, topP, topK and smallOption (#13553) 2026-02-15 22:24:24 -06:00
Salam Elbilig
9b23130ac4
feat(opencode): add cljfmt formatter support for Clojure files (#13426) 2026-02-15 15:21:57 -06:00
Aiden Cline
eb553f53ac
fix: ensure sqlite migration logs to stderr instead of stdout (#13691) 2026-02-15 00:41:16 -06:00
Dax Raad
45f0050372 core: add db command for database inspection and querying 2026-02-14 20:37:17 -05:00
Dax Raad
2bab5e8c39 fix: derive all IDs from file paths during json migration
Earlier migrations moved data to new directories without updating JSON
fields. Now consistently derives all IDs from file paths:

- Projects: id from filename
- Sessions: id from filename, projectID from parent directory
- Messages: id from filename, sessionID from parent directory
- Parts: id from filename, messageID from parent directory

This ensures migrated data matches the actual file layout regardless of
stale values in JSON content.
2026-02-14 20:37:17 -05:00
Aiden Cline
839c5cda12
fix: ensure anthropic models on OR also have variant support (#13498) 2026-02-14 14:30:07 -06:00
Dax
67c985ce82
fix: add WAL checkpoint on database open (#13633) 2026-02-14 19:33:08 +00:00
Aiden Cline
933a491ade
fix: ensure vercel variants pass amazon models under bedrock key (#13631) 2026-02-14 13:18:52 -06:00
Dax Raad
68bb8ce1da core: filter sessions at database level to improve session list loading performance 2026-02-14 13:41:15 -05:00
Aiden Cline
759ec104b6
fix vercel gateway variants (#13541)
Co-authored-by: Benjamin Woodruff <github@benjam.info>"
2026-02-14 12:32:29 -06:00
Dax Raad
b020758446 tui: show all project sessions from any working directory
Previously sessions were only listed if they were created in the current
working directory or its subdirectories. Users can now view and switch
to any session in the project regardless of which directory they're in.
2026-02-14 01:21:41 -05:00
Aiden Cline
179c40749d
fix: tweak websearch tool description date info to avoid cache busts (#13559) 2026-02-13 23:59:10 -06:00
Dax
6d95f0d14c
sqlite again (#10597)
Co-authored-by: Github Action <action@github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Brendan Allan <git@brendonovich.dev>
2026-02-14 04:19:02 +00:00
Kevin
d018903887
fix: prevent opencode run crash on malformed tool inputs (#13051)
Co-authored-by: 0xK3vin <kevin@git-pu.sh>
2026-02-13 20:54:20 -06:00
Rahul Mishra
693127d382
feat(cli): add --dir option to run command (#12443) 2026-02-13 00:59:37 -06:00
Aiden Cline
0d90a22f90
feat: update some ai sdk packages and uuse adaptive reasoning for opus 4.6 on vertex/bedrock/anthropic (#13439) 2026-02-13 00:56:11 -06:00
Aiden Cline
1fb6c0b5b3
Revert "fix: token substitution in OPENCODE_CONFIG_CONTENT" (#13429) 2026-02-12 23:24:31 -06:00
Aiden Cline
98aeb60a7f
fix: ensure @-ing a dir uses the read tool instead of dead list tool (#13428) 2026-02-12 23:20:33 -06:00
Spoon
1608565c80
feat(hook): add tool.definition hook for plugins to modify tool description and parameters (#4956) 2026-02-12 22:52:17 -06:00
Adam
8da5fd0a66
fix(app): worktree delete 2026-02-12 19:38:13 -06:00
projectArtur
991496a753
fix: resolve ACP hanging indefinitely in thinking state on Windows (#13222)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-12 18:20:00 -06:00
Ariane Emory
29671c1397
fix: token substitution in OPENCODE_CONFIG_CONTENT (#13384) 2026-02-12 16:59:44 -06:00
Aiden Cline
f66624fe6e
chore: cleanup flag code (#13389) 2026-02-12 22:38:51 +00:00
opencode-agent[bot]
d475fd6137 chore: generate 2026-02-12 22:14:45 +00:00
Smit Chaudhary
93eee0daf4
fix: look for recent model in fallback in cli (#12582) 2026-02-12 16:13:48 -06:00
Luke Parker
a8f2884521
feat: windows selection behavior, manual ctrl+c (#13315) 2026-02-13 07:38:27 +10:00
Sebastian
c0814da785
do not open console on error (#13374) 2026-02-12 21:29:58 +00:00
Adam
548608b7ad
fix(app): terminal pty isolation 2026-02-12 15:15:34 -06:00
Dax Raad
e6e9c15d34 improve codex model list 2026-02-12 18:15:30 +00:00
Ryan Vogel
ba54cee55e
feat(tool): return image attachments from webfetch (#13331) 2026-02-12 12:09:29 -05:00
Dax Raad
56ad2db020 core: expose tool arguments in shell hook for plugin visibility 2026-02-12 09:54:47 -05:00
Dax Raad
a115565054 core: allow model configurations without npm/api provider details
Makes npm and api fields optional in the provider schema so model definitions

can be more flexible when provider package details aren't needed.
2026-02-12 09:26:28 -05:00
Aiden Cline
624dd94b5d
tweak: tool outputs to be more llm friendly (#13269) 2026-02-12 00:33:18 -06:00
Luke Parker
8f9742d988
fix(win32): use ffi to get around bun raw input/ctrl+c issues (#13052) 2026-02-12 15:39:31 +10:00
Kyle Mistele
e269788a8f
feat: support claude agent SDK-style structured outputs in the OpenCode SDK (#8161)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Dax Raad <d@ironbay.co>
2026-02-12 04:54:05 +00:00
Dax Raad
ad2087094d support custom api url per model 2026-02-11 23:10:47 -05:00
Kit Langton
135f8ffb2a
feat(tui): add toggle to hide session header (#13244) 2026-02-12 02:21:42 +00:00
dpuyosa
bf5a01edd9
feat(opencode): Venice Add automatic variant generation for Venice models (#12106) 2026-02-11 20:21:29 -06:00
Aiden Cline
3befd0c6c5
tweak: use promise all for mcp listTools calls (#13229) 2026-02-12 00:19:53 +00:00
Aiden Cline
8c7b35ad05
tweak: compaction check (#13214) 2026-02-11 21:43:04 +00:00
Aiden Cline
006d673ed2
tweak: make read tool offset 1 indexed instead of 0 to avoid confusion that could be caused by line #s being 1 based (#13198) 2026-02-11 14:02:30 -06:00
Aiden Cline
6b4d617df0
feat: adjust read tool so that it can handle dirs too (#13090) 2026-02-11 13:23:00 -06:00
Kit Langton
17bdb5d56a
fix(tui): dismiss dialogs with ctrl+c (#12884) 2026-02-11 09:03:59 -05:00
Kit Langton
7a463cd193
fix(tui): keep /share available to copy existing link (#12532) 2026-02-11 08:58:24 -05:00
Kit Langton
352a54c698
feat(prompt): mode-specific input placeholders (#12388) 2026-02-11 08:57:59 -05:00
Kit Langton
93957da2c9
fix(tui): prevent home wordmark corruption in height-constrained terminals (#13069) 2026-02-11 08:52:14 -05:00
Aiden Cline
d98bd4bd52
fix: add additional context overflow cases, remove overcorrecting ones (#13077) 2026-02-10 23:30:29 -06:00
Aiden Cline
0fd6f365be
fix(core): ensure compaction is more reliable, add reserve token buffer to ensure that input window has enough room to compact (#12924)
Co-authored-by: James Lal <james@littlebearlabs.io>
2026-02-10 19:55:22 -06:00
Aiden Cline
60bdb6e9ba
tweak: /review prompt to look for behavior changes more explicitly (#13049) 2026-02-10 19:44:42 -06:00
Dax
6e9cd576ea
fix(tui): default session sidebar to auto (#13046) 2026-02-11 01:26:01 +00:00
OpeOginni
53ec15a56a
fix(tui): improve amazon-bedrock check to include container credentials (#13037) 2026-02-10 18:51:49 -06:00
Adam
fc37337a3e
fix(app): memory leak with platform fetch for events 2026-02-10 13:18:33 -06:00
Dax
8bdf6fa359 fix: show helpful message when free usage limit is exceeded (#13005) 2026-02-10 19:04:10 +00:00
Adam
659f15aa9b
fix(app): no changes in review pane 2026-02-10 11:53:33 -06:00
Adam
3929f0b5bd
fix(app): terminal replay (#12991) 2026-02-10 10:15:19 -06:00
Dax
27fa9dc843
refactor: clean up dialog-model.tsx per code review (#12983) 2026-02-10 15:13:37 +00:00
Peter Dave Hello
87795384de
chore: fix typos and GitHub capitalization (#12852) 2026-02-10 06:53:38 -06:00
Adam
4a73d51acd
fix(app): workspace reset issues 2026-02-10 05:52:34 -06:00
Dax Raad
63cd763418 Revert "feat: add version to session header and /status dialog (#8802)"
This reverts commit ac54535486.
2026-02-10 00:01:28 -05:00
Dax Raad
32394b699e Revert "feat(tui): highlight esc label on hover in dialog (#12383)"
This reverts commit 683d234d80.
2026-02-09 23:57:37 -05:00
Dax Raad
12262862cd Revert "feat: show connected providers in /connect dialog (#8351)"
This reverts commit a57c8669b6.
2026-02-09 23:46:57 -05:00
Harsh Sharma
56a752092e
fix: resolve homebrew upgrade requiring multiple runs (#5375) (#10118) 2026-02-09 22:18:57 -06:00
Marcio
056d0c1197
fix(tui): use sender color for queued messages (#12832) 2026-02-09 16:54:12 -06:00
Surma
832902c8e3
fix: publish session.error event for invalid model selection (#8451) 2026-02-09 16:27:48 -06:00
opencode-agent[bot]
d9b4535d64 chore: generate 2026-02-09 19:27:52 +00:00
Bryce Ryan
56b340b5d5
fix(opencode): ACP File write should create the file if it doesn't exist (#12854) 2026-02-09 12:56:34 -06:00
Aiden Cline
8ad4768ecd
tweak: adjust agent variant logic to not require exact match on model, and instead check if the variant is available for model (#12838) 2026-02-09 11:00:06 -06:00
Aiden Cline
a7c5d5ac4c
Revert "feat(tui): restore footer to session view (#12245)" (#12836) 2026-02-09 10:08:26 -06:00
Aiden Cline
99ea1351ce
tweak: add new ContextOverflowError type (#12777) 2026-02-08 23:54:01 -06:00
fgonzalezurriola
d40dffb854
fix(provider): remove obsolete copilot model enablement instructions (#12739) 2026-02-08 22:43:52 -06:00
AdJIa
0cd52f830c
fix: enable thinking for all reasoning models on alibaba-cn (DashScope) (#12772)
Co-authored-by: lujia <lujiax@zmn.cn>
2026-02-08 22:42:23 -06:00
Aiden Cline
62f38087b8
fix: parse mid stream openai responses style errors to prevent infinite retries for errors that should STOP execution (#12768) 2026-02-08 20:55:41 -06:00
Adam
d1ebe0767c
chore: refactoring and tests (#12629) 2026-02-08 05:02:19 -06:00
opencode-agent[bot]
fbc08709d1 chore: generate 2026-02-06 23:47:25 +00:00
Tommy D. Rossi
576a681a4f
feat: add models.dev schema ref for model autocomplete in opencode.json (#12528) 2026-02-06 17:46:31 -06:00
Shantur Rathore
a486b74b14
feat(core): Set variant in assistant messages too (#12531)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-06 16:33:47 -06:00
Maharshi Patel
89064c34c5
fix(opencode): cleanup orphaned worktree directories (#12399) 2026-02-06 16:18:03 -06:00
Khang Ha (Kelvin)
fde0b39b7c
fix: properly encode file URLs with special characters (#12424) 2026-02-06 16:16:56 -06:00
opencode-agent[bot]
e767801db2 chore: generate 2026-02-06 22:14:34 +00:00
Goni Zahavy
def907ae4b
fix(opencode): SessionPrompt.shell() now triggers loop if messages are queued (#10987) 2026-02-06 16:13:11 -06:00
Ivan Gonzalez
a25cd2da72
feat(opencode): use reasoning summary auto for gpt-5 models that are not chat (#12502) 2026-02-06 13:19:14 -06:00
opencode-agent[bot]
918795d868 chore: generate 2026-02-06 19:16:36 +00:00
Ariane Emory
84c5df19c7
feat(tui): add Claude Code-style --fork flag to duplicate sessions before continuing (resolves #11137) (#11340) 2026-02-06 13:15:47 -06:00
Mariam Jabara
95ad6758af
feat: add specific system prompt for Trinity model (#12144)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 11:43:10 -06:00
opencode-agent[bot]
3f7ca0494b chore: generate 2026-02-06 17:19:57 +00:00
Nacho F. Lizaur
18749c1f4e
fix(opencode): correct prefix selection for amazon-bedrock provider in getSmallModel (#12281) 2026-02-06 11:18:57 -06:00
Adam
9497cfdf45
fix(app): don't rely on metadata.summary in task tool render (#12497) 2026-02-06 10:54:54 -06:00
Ariane Emory
449c5b44b7
feat(tui): restore footer to session view (#12245) 2026-02-06 10:21:16 -06:00
Matt Silverlock
24dbc46548
fix(github): handle step-start/step-finish parts in extractResponseText (#12470) 2026-02-06 10:20:33 -06:00
cooooooooooode
53298145a2
fix: add directory parameter to plugin client for multi-project support (#11344)
Co-authored-by: cooooooooooode <187372691+cooooooooooode@users.noreply.github.com>
2026-02-06 10:15:35 -06:00
Yuvraj Virk
c07077f96c
fix: correct /data API usage and data format for importing share URLs (#7381) 2026-02-06 15:29:10 +00:00
Dax Raad
c35bd39829 tui: parallelize skill downloads for faster loading
Refactored skill discovery to download skills in parallel instead of sequentially,

reducing load times when multiple skills need to be fetched from remote URLs.

Also updated AGENTS.md with guidance on using dev branch for diffs.
2026-02-06 00:36:11 -05:00
Dax Raad
266de27a0b feat(skill): add skill discovery from URLs via well-known RFC
Implement the Agent Skills Discovery RFC to allow fetching skills from URLs:
- Add 'urls' field to config.skills for specifying skill registry URLs
- Create Discovery namespace in skill/discovery.ts with pull() function
- Download skills from /.well-known/skills/index.json endpoints
- Cache downloaded skills to ~/.cache/opencode/skills/
- Skip re-downloading existing files for efficiency

Users can now configure:
{
  "skills": {
    "urls": ["https://example.com/.well-known/skills/"]
  }
}

Implements: https://github.com/cloudflare/agent-skills-discovery-rfc
2026-02-06 00:36:11 -05:00
Akshar Patel
683d234d80
feat(tui): highlight esc label on hover in dialog (#12383) 2026-02-05 20:11:08 -06:00
Hank Stoever
229cdafcc4
fix(config): handle $ character with {file:} pattern (#12390)
Co-authored-by: Hank Stoever <1109058+hstove@users.noreply.github.com>
2026-02-05 20:10:35 -06:00
Dax Raad
154d0ebf53 increase skill dialog width 2026-02-05 18:38:31 -05:00
Andrew Pashynnyk
2e9a63fe4f
fix(opencode): improve skills dialog readability (#12356) 2026-02-05 18:35:35 -05:00
Dax Raad
9ff423bebf senior engineer senior engineering 2026-02-05 17:51:12 -05:00
Aiden Cline
1824db13cf
tweak: load user plugins after builtin (#12373) 2026-02-05 22:49:48 +00:00
Aiden Cline
36637b3be0
chore: rm hardcoded conditional that was used for testing (#12371) 2026-02-05 16:31:52 -06:00
Dax
a45841396f
core: fix unhandled errors when aborting with queued messages (#12369) 2026-02-05 22:27:27 +00:00
Akshar Patel
102d8e72bb
fix(tui): allow mouse escape via "esc" labels in dialogs (#11421) 2026-02-05 16:14:49 -06:00
Rafi Khardalian
09a0e921ce
fix(plugin): user plugins override built-in plugins for same provider (#12361) 2026-02-05 16:04:02 -06:00
Aiden Cline
b551195818
tweak: move codex 5.3 model definition to the plugin so that models.dev doesnt have to show unsupported model for others (#12344) 2026-02-05 20:53:26 +00:00
Steffen Deusch
8ddef975b7
feat(acp): add session usage (#12299)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-02-05 12:58:09 -06:00
Aiden Cline
2f78705f6e
tweak: update transforms for gpt-5.3 (#12325) 2026-02-05 12:49:40 -06:00
Dax Raad
47f00d23b3 enable 5.3 codex 2026-02-05 13:23:58 -05:00
Goni Zahavy
40ebc34909
feat(tui): add running spinner to bash tool in TUI (#12317) 2026-02-05 12:23:02 -06:00
Dax Raad
7c748ef089 core: silently ignore proxy command failures to prevent config initialization crashes 2026-02-05 12:47:32 -05:00
Aiden Cline
fba5a79c45
fix: ensure that github copilot plugin properly sets headers when used in other clients than tui (#12316) 2026-02-05 11:40:29 -06:00
Dax Raad
9adcf524e2 core: bundle GitLab auth plugin directly instead of dynamic install
Remove dynamic installation of built-in plugins. GitLab auth is now imported

directly as an internal plugin, eliminating network requests during startup

and simplifying the plugin loading logic.

Removes the need for test mocks since plugins are no longer

dynamically installed at runtime.
2026-02-05 11:29:00 -05:00
Dax Raad
a1c46e05ee core: fix plugin installation to use direct package.json manipulation instead of bun add
This ensures plugins install more reliably by writing dependencies directly
to package.json rather than relying on bun add commands which can fail
in certain environments. Also adds a small delay to ensure filesystem
operations complete before proceeding.
2026-02-05 10:07:59 -05:00
Zhiming Guo
72de9fe7a6
fix(opencode): Fixes image reading with OpenAI-compatible providers like Kimi K2.5. (#11323)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-05 01:54:07 -06:00
Aiden Cline
8c8d888140
Revert: feat: add models.dev schema ref for model autocomplete in ope… (#12242) 2026-02-05 00:31:08 -06:00
Tommy D. Rossi
9ef319f25f
feat: add models.dev schema ref for model autocomplete in opencode.json (#12112) 2026-02-05 00:08:08 -06:00
Aiden Cline
64e2bf8bf0
tweak: adjust task tool description/input to alleviate tool call failures that sometimes occured w/ gpt models (#12214) 2026-02-05 00:04:03 -06:00