Commit graph

595 commits

Author SHA1 Message Date
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
Ryan Vogel
ba54cee55e
feat(tool): return image attachments from webfetch (#13331) 2026-02-12 12:09:29 -05:00
Aiden Cline
624dd94b5d
tweak: tool outputs to be more llm friendly (#13269) 2026-02-12 00:33:18 -06: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
Peter Dave Hello
87795384de
chore: fix typos and GitHub capitalization (#12852) 2026-02-10 06:53:38 -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
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
Dax
556adad67b
fix: wait for dependencies before loading custom tools and plugins (#12227) 2026-02-05 03:25:43 +00:00
Max Leiter
93e060272a
fix: prevent memory leaks from AbortController closures (#12024) 2026-02-03 17:51:26 -06:00
Tyler Gannon
a30696f9bf
feat(plugin): add shell.env hook for manipulating environment in tools and shell (#12012) 2026-02-03 15:18:41 -06: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
Dax
1275c71a63
cli: make run non-interactive (#11814) 2026-02-02 23:35:23 -05: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
Dax Raad
83d0e48e38 tui: fix task status to show current tool state from message store 2026-02-01 20:52:17 -05:00
Aiden Cline
612b656d36 fix: adjust resolve parts so that when messages with multiple @ references occur, the tool calls are properly ordered 2026-02-01 19:26:23 -05:00
Dax
81ac41e089
feat: make skills invokable as slash commands in the TUI (#11390) 2026-01-31 00:41:55 -05:00
Aiden Cline
c0e71c4261
fix: don't --follow by default for grep and other things using ripgrep (#11415) 2026-01-30 23:38:43 -06:00
Patrick Schiel
e7ff7143b6
fix: handle redirected_statement treesitter node in bash permissions (#6737) 2026-01-30 16:11:45 -06:00
Spoon
45ec3105b1
feat: support config skill registration (#9640)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-01-29 11:47:06 -06:00
Aiden Cline
4d2696e027 tweak: add ctx.abort to grep tool 2026-01-28 20:06:36 -06:00
Goni Zahavy
e5b33f8a5e
fix(opencode): add AbortSignal support to Ripgrep.files() and GlobTool (#10833) 2026-01-28 18:47:09 -06:00
Aiden Cline
558590712d fix: ensure parallel tool calls dont double load AGENTS.md 2026-01-28 01:38:10 -05:00
GitHub Action
9a8da20a97 chore: generate 2026-01-28 06:05:21 +00:00
Goni Zahavy
63f5669eb5
fix(opencode): ensure unsub(PartUpdated) is always called in TaskTool (#9992) 2026-01-28 01:04:43 -05:00
adamelmore
1f9313847f
feat(core): add worktree to plugin tool context 2026-01-27 06:29:19 -06:00
adamelmore
a8c18dba82
fix(core): expose Instance.directory to custom tools 2026-01-26 20:07:47 -06:00
Aiden Cline
6cf2c3e3db fix: use Instance.directory instead of process.cwd() in read tool 2026-01-26 20:57:50 -05:00
adamelmore
021d9d105e
fix(app): reactive file tree 2026-01-26 16:46:09 -06:00
Aiden Cline
39a73d4894
feat: dynamically resolve AGENTS.md files from subdirectories as agent explores them (#10678) 2026-01-26 10:49:41 -05:00
Britt
f4cf3f4976
fix(web): construct apply_patch metadata before requesting permission (#10422) 2026-01-24 12:00:21 -06:00
Fynn
b978ca11da
fix: retry webfetch with simple UA on 403 (#10328) 2026-01-24 00:14:32 -05:00
Shantur Rathore
4173adf5e2
feat(tasks): Add model info as part of metadata (#10307) 2026-01-24 00:10:40 -05:00
iltenahmet
3eaf6f3baf
fix(ui): show file path in apply_patch request permission screen (#10079) 2026-01-22 13:43:11 -06:00
Aiden Cline
3b7c347b2e tweak: bash tool, ensure cat will trigger external_directory perm 2026-01-22 10:26:06 -06:00
Aiden Cline
d9f0287d74 tweak: add back todo list tools for openai models 2026-01-21 12:14:09 -06:00
Aiden Cline
ab3d412a81 tweak: adjust skill tool description to make it more clear which skills are available 2026-01-21 11:08:28 -06:00
GitHub Action
2049af4d6f chore: generate 2026-01-21 04:56:39 +00:00
Aiden Cline
74bd52e8a7 fix: ensure apply patch tool emits edited events 2026-01-20 22:55:50 -06:00
GitHub Action
616329ae97 chore: generate 2026-01-20 06:33:16 +00:00
Aiden Cline
9706aaf552 rm filetime assertions from patch tool 2026-01-20 00:32:29 -06:00
James Meng
36f5ba52e9
fix(batch): update batch tool definition to outline correct value for max tool calls (#9517) 2026-01-19 22:15:02 -06:00
Spoon
673e79f457
tweak(batch): up restrictive max batch tool from 10 to 25 (#9275) 2026-01-19 15:44:58 -06:00
Aiden Cline
dd0906be8c tweak: apply patch description 2026-01-19 11:22:00 -06:00
Aiden Cline
4299450d7d tweak apply_patch tool description 2026-01-19 01:31:30 -06:00
Aiden Cline
3515b4ff7d omit todo tools for openai models 2026-01-19 01:06:26 -06:00
Aiden Cline
e2f1f4d81e
add scheduler, cleanup module (#9346) 2026-01-18 23:33:23 -06:00
zerone0x
38c641a2fc
fix(tool): treat .fbs files as text instead of images (#9276)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-18 13:17:49 -06:00
Aiden Cline
b7ad6bd839
feat: apply_patch tool for openai models (#9127) 2026-01-18 00:35:09 -06:00
Aiden Cline
1a43e5fe87 fix: adjust websearch tool to emphasize that it ISNT 2024, give more info as to current date 2026-01-15 20:50:22 -06:00
Kit Langton
5092b5f07b
docs: clarify question tool guidance (#8778) 2026-01-15 19:37:56 -06:00
Aiden Cline
9d8d0e97ec Revert "fix:subagent reasoningEffort not being applied (#8646)"
This reverts commit f4086ac459.
2026-01-15 16:06:35 -06:00
Jeong Juahn
f4086ac459
fix:subagent reasoningEffort not being applied (#8646)
Co-authored-by: Bot <bot@example.com>
2026-01-15 16:04:01 -06:00
andrew-kramer-inno
4edb4fa4fa
fix: handle broken symlinks gracefully in grep tool (#8612)
Co-authored-by: Alex Johnson <nvidiattxpsli@gmail.com>
2026-01-15 11:40:37 -06:00
Aiden Cline
096e14d787 tweak: adjust lsp wording a bit more to encourage fixing 2026-01-14 15:44:44 -06:00
Dax Raad
0187b6bb72 do not allow agent to ask custom-less questions 2026-01-13 17:14:12 -05:00
Aiden Cline
0eb898abcf tweak: prompt for explore agent better 2026-01-13 15:35:52 -06:00
Alan
774c24e76e
fix: update User-Agent string to latest Chrome version in webfetch (#8284) 2026-01-13 15:23:08 -06:00
Dax
0a3c72d678
feat: add plan mode with enter/exit tools (#8281) 2026-01-13 15:55:48 -05:00
Daniel Polito
3600bd27f4
feat(desktop): Ask Question Tool Support (#8232) 2026-01-13 12:28:08 -06:00
Aiden Cline
66f9bdab32 core: tweak edit and write tool outputs to prevent agent from thinking edit didn't apply 2026-01-12 20:40:10 -06:00
M. Adel Alhashemi
5d37e58d34
fix(task): respect agent task permission for nested sub-agents (#8111) 2026-01-12 20:37:42 -06:00
Aiden Cline
fd37d5b54e tweak: truncation dir perm 2026-01-12 16:46:47 -06:00
Aiden Cline
735f3d17bc
fix: ensure plurals are properly handled (#8070) 2026-01-12 15:21:01 -06:00
Dillon Mulroy
fa79736b87
fix: check worktree for external_directory permission in subdirs (#7811) 2026-01-11 14:17:36 -06:00
Dax Raad
f94ee5ce90 core: extract external directory validation to shared utility to reduce code duplication across tools 2026-01-10 18:49:42 -05:00
Kenny
d5738f542c
fix(grep): follow symlinks by default in ripgrep searches (#7501) 2026-01-10 10:57:18 -06:00
Dax
22dd70b75b
feat(question): support multi-select questions (#7386) 2026-01-08 17:32:21 -05:00
Dax
e37fd9c105
core: add interactive question tool for gathering user preferences and clarifying instructions (#7268) 2026-01-07 22:29:42 -05:00
Aiden Cline
1b82511fbd
feat: write truncated tool outputs to files (#7239) 2026-01-07 17:25:00 -06:00
M. Adel Alhashemi
34c9d106ee
refactor: simplify task tool subagent filtering (#7165)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-01-07 13:28:13 -06:00
Aiden Cline
6590c1641f add truncation for all tools 2026-01-07 02:01:32 -06:00
Sewer.
fd7b7eacd3
Added: Ability to hide subagents from primary agents system prompt. (#4773)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-01-06 22:29:17 -06:00
Aiden Cline
625c9dae5c fix: ensure commands listing subagent work 2026-01-06 17:05:20 -06:00
M. Adel Alhashemi
485aadcbfa
fix: restore skill filtering by agent permissions (#7042) 2026-01-06 12:01:37 -06:00
Matthijs Wolting
d76d6db589
fix: add missing await for available skills in skill tool (#7072) 2026-01-06 11:56:49 -06:00
Aiden Cline
3611260405 core: remove hardcoded .env read block and use new permissions model instead 2026-01-04 01:49:49 -06:00
Dax Raad
4956ee3ebd tui: add escape key handling to permission dialogs for better keyboard navigation 2026-01-02 18:48:26 -05:00
Aiden Cline
7aa1dbe873 test: fix bash test 2026-01-01 17:53:20 -06:00
Aiden Cline
76186d19f3 fix: ensure new permissions changes work for special case bash commands like rm, cd, etc 2026-01-01 17:27:23 -06:00
Dax
351ddeed91
Permission rework (#6319)
Co-authored-by: Github Action <action@github.com>
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
2026-01-01 17:54:11 -05:00
Didier Durand
8b708242f1
chore: fix various typos (#6429) 2025-12-30 09:42:04 -06:00
samcornor
fd973d242e
fix(webfetch): make format parameter optional with markdown default (#6345)
Co-authored-by: Somair Ansar <somairansar@Somairs-MacBook-Air.local>
2025-12-29 15:53:12 -06:00
Didier Durand
29d8557d41
doc: fix typos in various files (#6294) 2025-12-28 13:06:25 -06:00
Aiden Cline
79c263494f tweak: inform agent if no skills are available 2025-12-27 21:20:00 -06:00
Didier Durand
e6b9988fa4
doc: fix typos in various files (#6238) 2025-12-27 00:46:06 -06:00
Aiden Cline
1e2ef07c97 chore: kill some unused tools 2025-12-26 14:31:22 -06:00
Aiden Cline
160c8ab7cc tweak: bash tool description to avoid unnecessary 'cd &&' usage 2025-12-26 13:44:52 -06:00
Didier Durand
cf38884778
doc: fix typos in various files (#6196) 2025-12-26 10:21:33 -06:00
JackNorris
46c7a41d5f
fix: only show diagnostics block when errors exist (#6175) 2025-12-25 22:24:48 -06:00
Dax Raad
281ce4c0c3 prompt update to prevent searching via bash tool 2025-12-25 23:07:39 -05:00
Dax Raad
f397c92ddf remove list tool 2025-12-25 00:58:47 -05:00
lif
5af35117db
fix: handle Windows CRLF line endings in grep tool (#5948)
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-22 22:26:15 -06:00
Mohammad Alhashemi
3a54ab68d1
feat(skill): add per-agent filtering to skill tool description (#6000) 2025-12-22 20:14:33 -05:00
Mohammad Alhashemi
046e351140
feat: add native skill tool with permission system (#5930)
Co-authored-by: Dax Raad <d@ironbay.co>
2025-12-22 18:24:06 -05:00
Buck Evan
60db171b44
fix(read): narrow .env file blocking to not block .envrc (#5654)
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-22 08:37:43 -06:00
Aiden Cline
345f4801e8
feat: add experimental lsp tool (#5886) 2025-12-22 00:34:21 -06:00
Spoon
8864da7a77
batch: enable edit, todoread, clarify error message, minor tool description change (#5659) 2025-12-17 10:23:35 -06:00
Sachnun
751899eeec
fix: remove unsupported parameter from bash tool description (#5676) 2025-12-17 08:59:42 -06:00
Spoon
b8a8fb0de6
plugin(hook): add task tool execution hooks and command context tracking (#5642) 2025-12-16 19:28:09 -06:00
Luke Parker
27e826eba6
fix(win32): Normalise LSP paths on windows (fixes lua) (#5597) 2025-12-15 18:01:03 -06:00
Spoon
5cf126d489
fix(edit): add per-file lock to prevent read-before-write race (#4388) 2025-12-14 23:01:50 -06:00
Dax
fed4776451
LLM cleanup (#5462)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-14 21:11:30 -05:00
Tommy D. Rossi
aedb5550a8
fix: limit LSP diagnostics to prevent context window waste (#5480)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-12-13 19:56:26 -06:00
Aiden Cline
15caecdb45
shell tweaks, better handling for windows (#5455)
Co-authored-by: GitHub Action <action@github.com>
2025-12-12 16:11:07 -06:00
opencode-agent[bot]
9c126c5b64
Removed cache mention from webfetch prompt. (#5412)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-11 19:53:39 -06:00
Aiden Cline
4e92f54415 tweak: bash tool, try to prevent the cd spam 2025-12-11 14:58:46 -06:00
Aiden Cline
4f5abe387d tweak: bash tool deny msg 2025-12-11 14:46:58 -06:00
Jinhyeok Lee
01fd0d8209
docs(bash): clarify description parameter is required (#5353) 2025-12-10 19:37:38 -06:00
Dax Raad
de8460cb99 docs: improve bash and grep tool documentation with clearer usage guidelines 2025-12-10 08:48:41 -05:00
Aiden Cline
552ee81455 tweak: add OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS 2025-12-09 17:28:34 -06:00
Aiden Cline
8a9c7a4ef3 add OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT 2025-12-09 15:44:56 -06:00
Aiden Cline
84a0868e66 fix: read when file is svg 2025-12-09 14:24:30 -06:00
Aiden Cline
a3bb4a3c85
pdf support in read tool (#5222)
Co-authored-by: ammi1378 <ammi1378@users.noreply.github.com>
2025-12-07 21:54:00 -06:00
GitHub Action
9c938eec73 chore: format code 2025-12-07 19:08:48 +00:00
secretninjaman
238b907dd8
fix: use basename for shell detection to support non-standard paths (#5205)
Co-authored-by: Ayato French <a@ayatofrench.com>
2025-12-07 13:08:26 -06:00
Aiden Cline
75a4dcbce8
tweak: make bash give agent more awareness of cwd, bump default timeout, drop max timeout (#5140) 2025-12-06 23:55:07 -06:00
Aiden Cline
3e36069f41 fix: reduce overhead of task tool metadata 2025-12-06 16:04:33 -06:00
Ben Vargas
419983c0f1
feat: restore experimental flag for websearch/codesearch tools (#5132)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-12-06 14:29:34 -06:00
Shantur Rathore
ba417d80b1
tweak: bash tool improve output metadata for agent consumption, fix small timeout issue (#5131) 2025-12-05 13:56:56 -06:00
Aiden Cline
d469d7d441 tweak: bash tool description re commit stuff 2025-12-04 15:27:23 -06:00
Shantur Rathore
a607f33552
tweak: bash tool messages regarding timeouts and truncation more clear for agent (#5066) 2025-12-04 11:33:00 -06:00
Aiden Cline
350a32274a fix: model not being passed correctly to tool 2025-12-04 11:15:30 -06:00
Dax
6d3fc63658
core: refactor provider and model system (#5033)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: thdxr <thdxr@users.noreply.github.com>
2025-12-03 21:09:03 -05:00
Spoon
0bccd1d578
feat: experimental.primary_tools, allow user to set the tools that should only be available to primary agents (#4913)
Co-authored-by: GitHub Action <action@github.com>
2025-12-03 11:19:43 -06:00
Dax Raad
95c3a8b805 limit grep line length to 2000 2025-12-01 16:35:07 -05:00
Dax Raad
0bf40faf95 core: prevent codesearch and websearch tools when webfetch permission is denied 2025-11-26 22:08:50 -05:00
Dax Raad
9c237f0bfb temporarily restrict codesearch and websearch to opencode zen users. need to figure out how to opt out for enterprise users who do not want this 2025-11-26 20:13:20 -05:00
Dax Raad
d95f724303 enable exa code/websearch 2025-11-25 22:06:26 -05:00
Aiden Cline
27ae341684 fix bash tool wsl 2025-11-23 12:29:15 -06:00
Aiden Cline
adf7df0d5c tweak: bash tool behavior w/ /bin/zsh 2025-11-21 16:30:00 -06:00
Ivan Starkov
b5d0c56b4c
fix: make bash tool respect $SHELL (#3494)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-21 14:33:04 -06:00
cc-bjojac
a9c56b813a
Make the MAX_OUTPUT_LENGTH in bash.ts overridable by OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH (#4497)
Co-authored-by: Björn Jacobs <bjoern.jacobs.ext@bundesanzeiger.de>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-11-20 10:45:13 -06:00
Aiden Cline
bbf4574476 fix: make external_directory permission wildcarding more sane 2025-11-19 12:55:02 -06:00
Aiden Cline
1ff5d888c2 fix: make bash tool use external_directory perm 2025-11-19 12:31:34 -06:00
Dax Raad
5d25758400 use bash description as task title 2025-11-19 13:23:29 -05:00
Aiden Cline
793542230f tweak: bash description 2025-11-19 11:31:12 -06:00
Shantur Rathore
963a926db2
allow task tool to have resume capabilities (#4204)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2025-11-19 00:17:26 -06:00
K Whiteside
47bfae52c0
fix: permission checks for external_directory and doom_loop (#4433)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: AerionDyseti <AerionDyseti@users.noreply.github.com>
2025-11-18 17:18:23 -06:00
Aiden Cline
e09af2cb4b fix windows bash tool issue 2025-11-18 14:06:45 -06:00
Albert O'Shea
5e13527416
feat: nix support for the nix folks (#3924)
Co-authored-by: opencode <opencode@sst.dev>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2025-11-18 00:46:49 -06:00
Aiden Cline
0a2fffa9b5 tweak: whitelist 2025-11-17 13:18:13 -06:00
Dax
a1214fff2e
Refactor agent loop (#4412) 2025-11-17 10:57:18 -05:00
Keath Milligan
f4d892d4e1
fix: handle Git Bash path mapping on windows (#4380) 2025-11-17 01:06:44 -06:00
Spoon
5c722bf8c4
fix(batch): simple UX feedback (#4396) 2025-11-17 00:02:05 -06:00
Baptiste Cavallo
72e604744d
fix(batch): restore per-tool UI feedback + UX improvements (#4387) 2025-11-16 16:31:41 -06:00
Luke Parker
35fbb011b2
fix: Diff view now ignores line endings changes/windows autocrlf (#4356) 2025-11-15 21:18:39 -06:00
Aiden Cline
0377cfd37c fix: omit ref for todo tool 2025-11-15 19:19:36 -06:00
Aiden Cline
edc933d816 tweak: make zod error more prompty 2025-11-15 13:19:24 -06:00
Baptiste Cavallo
1056b36eae
experimental batch tool (#2983)
Co-authored-by: GitHub Action <action@github.com>
2025-11-15 00:54:36 -06:00
Dax Raad
7ec32f834e improve read tool end-of-file detection to prevent infinite loops 2025-11-13 21:41:06 -05:00
Aiden Cline
4c2e888709 no mr llm, you may not read that 2025-11-13 19:16:07 -06:00
Rafał Krzyważnia
491a2adf8d
fix: resolve @file references in slash commands with subagents (#4221) 2025-11-11 19:38:50 -06:00
Dax Raad
3f5acc3dff add web and codesearch tools 2025-11-10 16:39:54 -05:00
Aiden Cline
4e549b1c05
fix: allow user to configure doom loop & external dir perms (#4095) 2025-11-09 20:21:38 -06:00
GitHub Action
34ff87d504 chore: format code 2025-11-08 01:59:02 +00:00
Dax Raad
d462e380f4 fix: update references after moving message functions to MessageV2 namespace 2025-11-07 14:47:05 -05:00
Dax Raad
e45e94634f only display last 100 messages in TUI 2025-11-06 13:21:15 -05:00
Dax Raad
1ea3a8eb9b big format 2025-11-06 13:03:12 -05:00
Aiden Cline
d425723249 ask instead of throwing tool error if file is outside cwd 2025-11-05 16:09:47 -06:00
Filip
53998a2fed
chore: remove unused patch tool from registry (to avoid accidental inclusions of it) (#3938) 2025-11-05 11:26:28 -06:00
Stephen Collings
b275e18d28 fix: Provide OPENCODE & AGENT env vars (#3843)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-11-04 04:01:22 +00:00
John Eismeier
8b70b89fde
fix: typos (#3757)
Signed-off-by: John E <jeis4wpi@outlook.com>
2025-11-02 09:56:40 -06:00
Haris Gušić
af50596529
fix: grep failing when pattern started with a dash 2025-10-31 17:20:22 -05:00
Dax
96bdeb3c7b
OpenTUI is here (#2685) 2025-10-31 15:07:36 -04:00
Aiden Cline
dfdd009750 fix: bash permission case 2025-10-31 00:52:46 -05:00
Brandon
c68607fb2b
feat: Adds session id to Agent context metadata (#3559)
Co-authored-by: Brandon Wisnicki <bwisnicki@palantir.com>
2025-10-30 12:15:21 -05:00
Haris Gušić
dc87659791
tweak: move zod validation for tools to ensure it always runs (#3565) 2025-10-30 11:31:44 -05:00
Aiden Cline
fc8db6cdf9 fix: ensure timeout param passed to bash tool is positive 2025-10-28 17:32:39 -05:00
Dax Raad
c1515316f5 core: fix additions and deletions counting in edit tool filediff 2025-10-28 14:08:10 -04:00
Adam
fc115ea367
wip: desktop work 2025-10-27 15:37:07 -05:00
Jérôme Benoit
0eb899a950
chore: cleanup versioned zod imports (#3460)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2025-10-26 14:50:41 -05:00
Aiden Cline
5a0228897b ignore: reword 2025-10-24 13:46:47 -05:00
Aiden Cline
707ed72381
adjust edit tool multiple matches error wording (#3418) 2025-10-24 12:14:49 -05:00
Aiden Cline
9b5fe10df6
add flag wildcard parsing support for bash tool (#3390) 2025-10-23 13:35:09 -05:00
Joe Schmitt
f3f21194ae
feat: Add ACP (Agent Client Protocol) support (#2947)
Co-authored-by: opencode-bot <devnull@opencode.local>
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: GitHub Action <action@github.com>
2025-10-20 16:55:22 -05:00
Aiden Cline
25861f6d0d sync 2025-10-16 17:49:02 -05:00
Aiden Cline
fc18fc8a08
fix: bash hangs & orphans (#3225) 2025-10-16 14:39:36 -05:00
Aiden Cline
d3caa55c10 Revert "fix: spawns hanging (#3192)"
This reverts commit 278ffb9a4e.
2025-10-15 15:20:14 -05:00
Aiden Cline
278ffb9a4e
fix: spawns hanging (#3192) 2025-10-15 13:01:54 -05:00
Aiden Cline
b3fcc9a81d
tweak: consolidate session lock logic (#3185) 2025-10-15 01:12:51 -05:00
Dax Raad
cb73e2d9e1 fix: export trimDiff function from edit tool 2025-10-14 02:55:02 -04:00
Dax Raad
1923ddab6e feat: add Slack integration package with Bolt framework 2025-10-14 02:53:55 -04:00
Aiden Cline
fd70b9b057
fix: adjust list tool prompt to handle cwd better (#3115) 2025-10-12 16:48:03 -05:00
Tommy D. Rossi
b4171aa8e8
fix: rg hanging forever when run in bash, waiting for stdin (#3103)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-10-11 23:24:48 -05:00
Aiden Cline
225adc46ba
feat: allow read tool to handle images (#3052) 2025-10-09 09:05:11 -05:00
Aiden Cline
06c42093c8
tweak: grep tool to handle single file better (#3004) 2025-10-06 23:24:00 -05:00
Dax Raad
a20fc2dfdf ignore: 2025-10-06 23:25:01 -04:00
Dax Raad
2bf0e42367 core: restore bash command security validation to prevent accidental directory traversal
The permission validation that prevents commands from accessing paths outside the project directory was accidentally disabled, which could allow commands like 'cd ../' to escape the workspace. This restores the security check that keeps your commands safely contained within your project boundaries.
2025-10-06 23:24:18 -04:00
Dax Raad
10998d62b9 core: improve session API reliability with proper input validation 2025-10-06 19:37:44 -04:00
Dax Raad
aee240150b Update todo tool to use centralized Todo module 2025-10-06 18:54:05 -04:00
Dax Raad
cdd6e98af9 Add missing files and fix type aliases for opentui features 2025-10-06 18:53:35 -04:00
Aiden Cline
bdf77701cf
fix: add timeout message if command times out (#2986) 2025-10-05 23:55:01 -05:00
Mani Sundararajan
889c276558
fix: file references & grep tool for windows (#2980) 2025-10-05 14:32:07 -05:00
Dax Raad
41ce56494b core: make patch tool more reliable and consistent with other editing tools
The patch tool now works seamlessly alongside other file editing tools with improved
error handling and a more intuitive permission system. Users will experience:

- More reliable patch application with better error messages
- Consistent permission prompts that match other editing tools
- Smoother integration when applying complex multi-file changes
- Better feedback on what changes are being made before applying patches

This refactoring leverages the robust patch parsing engine while making the tool
feel native to the opencode workflow, reducing friction when making bulk changes
to your codebase.
2025-10-01 06:45:43 -04:00
Dax Raad
6e19200fca overhaul file search and support @ mentioning directories 2025-10-01 03:37:01 -04:00
Dax Raad
c148f10bbd core: improve webfetch tool content negotiation and format handling 2025-09-28 17:57:50 -04:00
Dax Raad
4b94d98f89 ci: improve test coverage 2025-09-27 03:04:42 -04:00
Dax Raad
d0043a4a78 sync 2025-09-27 02:53:20 -04:00
Timo Clasen
3d332a06b5
fix(tool): follow symlinks when looking for tools (#2809) 2025-09-26 16:01:08 -05:00
Dax Raad
baaff81a06 fix task tool ui disappearing once done 2025-09-19 01:09:52 -04:00
Dax
3b6c0ec0b3
support custom tools (#2668) 2025-09-18 03:58:21 -04:00
Dax
c1b4e1f19d
Upgrade to Zod v4 (#2605)
Co-authored-by: GitHub Action <action@github.com>
2025-09-15 03:12:07 -04:00
Aiden Cline
c81624aef7
tweak: make bash permissions key off of command pattern (#2592) 2025-09-14 09:01:57 -05:00
Kenn Costales
df61aa801b
fix: fix wrong tool references LS and Agent (#2466) 2025-09-14 08:53:50 -05:00
Dax
9bb25a9260
Session management and prompt handling improvements (#2577)
Co-authored-by: GitHub Action <action@github.com>
2025-09-13 05:46:14 -04:00
Dax Raad
3e9b451fb4 reduce LSP verbosity 2025-09-11 12:54:12 -04:00
Dax Raad
4ccf683527 remove block anchor edit 2025-09-11 12:53:10 -04:00
Dax Raad
38e8c42cf0 ci: format 2025-09-09 23:44:04 -04:00
Zack Jackson
ab3c22b77a
feat: add dynamic tool registration for plugins and external services (#2420) 2025-09-08 16:25:04 -04:00
Aiden Cline
1cea8b9e77
tweak: reenable todowrite & todoread for qwen models (#2499) 2025-09-08 13:21:16 -05:00
spoons-and-mirrors
900fe5ca04
tweak(edit): separate edit tool error message with clearer guidance to avoid llm doom editing loop (#2051) 2025-09-05 12:36:13 -04:00
Aiden Cline
9186c3feae
fix: webfetch prompt mistake (#2424) 2025-09-04 13:35:25 -05:00
Aiden Cline
d6350a7fa6
tweak: update ls tool to use rg (#2367) 2025-09-02 10:40:20 -05:00
Dax
f993541e0b
Refactor to support multiple instances inside single opencode process (#2360)
This release has a bunch of minor breaking changes if you are using opencode plugins or sdk

1. storage events have been removed (we might bring this back but had some issues)
2. concept of `app` is gone - there is a new concept called `project` and endpoints to list projects and get the current project
3. plugin receives `directory` which is cwd and `worktree` which is where the root of the project is if it's a git repo
4. the session.chat function has been renamed to session.prompt in sdk. it no longer requires model to be passed in (model is now an object)
5. every endpoint takes an optional `directory` parameter to operate as though opencode is running in that directory
2025-09-01 17:15:49 -04:00
Aiden Cline
d9de78cfe8
fix: bash tool description (#2260) 2025-08-26 13:42:01 -05:00
Vincent Bernat
dda672284c
fix: ignore case when checking Qwen in model ID for todos (#2122) 2025-08-20 14:44:27 -05:00
Aiden Cline
ebd1b18b70
fix: better binary file detection (#2025) 2025-08-17 17:59:51 -05:00
adamdotdevin
07dbc30c63
feat(tui): navigate child sessions (subagents) 2025-08-15 10:16:08 -05:00
Yuu Toriyama
3f0f910f7b Fix: Error [ERR_DLOPEN_FAILED] (#1546) 2025-08-13 19:49:14 +00:00
Matt Cook
77bb5af092
fix: grammatical error in agent launch example (by Opencode) (#1897) 2025-08-13 12:25:38 -05:00
adamdotdevin
f2021a85d6
fix: allow attachments outside cwd, and support svg 2025-08-13 10:36:50 -05:00
adamdotdevin
7d54f893c9
fix: update read tool description to exclude binary/image files 2025-08-13 10:13:57 -05:00
Aiden Cline
832d8da453
fix: permission prompting issues (#1884) 2025-08-13 06:34:06 -05:00
Aiden Cline
790e9947bd
fix: task tool prompt (#1887) 2025-08-12 23:41:12 -04:00
Dax Raad
d16ae1fc4e bash truncate character max instead of line max 2025-08-12 16:14:40 -04:00
Dax Raad
5cc44c872e disable todo tools for qwen models to improve compatibility 2025-08-12 18:56:26 +00:00
Dax Raad
6aa157cfe6 limit bash tool to 1000 lines of output 2025-08-12 14:51:13 -04:00
Dax
10735f93ca
Add agent-level permissions with whitelist/blacklist support (#1862) 2025-08-12 11:39:39 -04:00
Dax Raad
22023fa9e7 remove git bash tool coauthor message 2025-08-11 18:36:06 +00:00
cvzakharchenko
8db75266d0
Issue 1676: Don't eat up the last newline in a multi-line replacement (#1777) 2025-08-11 06:55:45 -05:00
Dax Raad
061ba65d20 show combined output of bash tool progressively 2025-08-11 01:23:00 -04:00
Aiden Cline
542186aa49
feat: webfetch permission support (#1772) 2025-08-10 08:00:44 -05:00
Aiden Cline
1954b59167
feat: eslint lsp (#1744) 2025-08-09 11:04:58 -05:00
Dax Raad
8750744068 renable todo tool 2025-08-07 21:47:37 -04:00
Dax Raad
3e74107e36 looser todo tool schema 2025-08-07 21:47:37 -04:00
Dax
c34aec060f
Merge agent and mode into one (#1689)
The concept of mode has been deprecated, there is now only the agent field in the config.

An agent can be cycled through as your primary agent with <tab> or you can spawn a subagent by @ mentioning it. if you include a description of when to use it, the primary agent will try to automatically use it

Full docs here: https://opencode.ai/docs/agents/
2025-08-07 16:32:12 -04:00
Aiden Cline
6beba2c04f
docs: document permissions (#1638) 2025-08-06 05:18:08 -05:00
Aiden Cline
ad10d3a126
fix: handle undefined agent in task tool (#1642) 2025-08-06 05:16:43 -05:00
Aiden Cline
a48274f82b
permissions disallow support (#1627) 2025-08-05 19:14:28 -05:00
Dax Raad
0a42068fbb hack to return tool call errors back to model 2025-08-04 12:15:24 -04:00
Dax Raad
cd58f10e3c ci: ignore 2025-08-03 15:38:39 -04:00
Dax Raad
ea85fdf3cd fix bash tool not showing stderr 2025-08-03 15:34:52 -04:00
Dax Raad
21c52fd5cb fix bash tool getting stuck on interactive commands 2025-08-03 13:52:50 -04:00
Dax Raad
53aa899e45 ci: ignore 2025-08-03 10:42:52 -04:00
Dax Raad
7e763e1c06 fix shell error 128 2025-08-03 10:30:23 -04:00
Aiden Cline
4172e3ad28
fix: bash tool errors for chmod (#1502) 2025-08-01 09:10:09 -05:00
Dax Raad
b6ee8e92f9 better guarding against bash commands that go outside of cwd 2025-07-31 21:42:30 -04:00
Dax Raad
12f84f198f improve wildcard matching for permissions 2025-07-31 20:40:05 -04:00
Dax Raad
30e10127f2 formatter config 2025-07-31 19:36:07 -04:00
Dax Raad
4273714a62 fix issue with some bash commands asking for permission 2025-07-31 18:35:51 -04:00
Dax Raad
5e72f50554 wip: permissions 2025-07-31 17:19:56 -04:00
Dax Raad
a2191ce6fb wip: permissions 2025-07-31 16:38:37 -04:00
Dax Raad
a5b20f973f wip: refactor permissions 2025-07-31 12:26:47 -04:00
adamdotdevin
d9210af98c
fix: optional toolCallID 2025-07-31 10:09:44 -05:00
adamdotdevin
5500698734
wip: tui permissions 2025-07-31 09:59:17 -05:00
Dax
0bdbe6261a ci: new publish method (#1451) 2025-07-31 01:05:35 -04:00
Simon Westlin Green
b09ebf4645
Use responses API for Azure (#1428) 2025-07-30 23:22:59 -04:00
CodinCat
1a78d833a8
fix typo in bash.ts (#1444) 2025-07-30 23:20:48 -04:00
Dax
18888351e9
use treesitter to parse bash commands and catch commands that go outside of cwd (#1443) 2025-07-30 20:57:52 -04:00
Aiden Cline
1b3d58e791
fix: prevent read tool from opening binary files and corrupting session (#1425) 2025-07-30 11:00:23 -05:00
Dax Raad
8bf36d174b update beast prompt for openai models 2025-07-29 22:15:13 -04:00
Dax Raad
7e9ac35666 remove min/max in tool schemas 2025-07-29 17:39:47 -04:00
Aiden Cline
c165360e17
fix: task type error (#1384) 2025-07-29 06:18:34 -05:00
Dax Raad
9c9cbb3e81 wip: undo properly remove messages from UI 2025-07-28 22:58:31 -04:00
Dax Raad
6b7058fe1c qwen optimizations it works good now 2025-07-25 18:31:08 -04:00
Dax Raad
e97613ef9f allow temperature to be configured per mode 2025-07-25 13:29:44 -04:00
Dax Raad
8dcd39f5b7 real life totally configurabl ai subasians 2025-07-24 21:21:02 -04:00
Filip
541a7a39d3
fix: edit tool (#1287) 2025-07-24 16:18:04 -04:00
Yihui Khuu
507c975e92
feat: pass mode into task tool (#1248) 2025-07-23 20:29:59 -04:00
Dax Raad
8f64c4b312 disable todo tools when running as task 2025-07-19 15:54:11 -04:00
Dax
d56dec4ba7
wip: optional IDs in api (#1128) 2025-07-18 13:42:50 -04:00
Dax Raad
dd34556e9c only include severity 1 diagnostics from lsp in edit tool output 2025-07-16 15:25:37 -04:00
Jeremy Mack
5d67e13df5
fix: grep omitting text after a colon (#1053) 2025-07-16 09:09:05 -05:00
Dax Raad
b1ab641905 add small model for title generation 2025-07-15 14:00:52 -04:00
Dax Raad
4b2ce14ff3 bring back task tool 2025-07-15 00:05:54 -04:00
Mike Wallio
f593792fb5
Standardize parameter description references in Edit and MultiEdit tools (#984) 2025-07-14 20:03:59 -04:00
Dax
90d6c4ab41
Part data model (#950) 2025-07-13 17:22:11 -04:00
Muzammil Khan
9aa0c40a00
feat: add more ignore patterns to the ls tool (#913) 2025-07-12 12:06:58 -04:00
Dax Raad
0ee3b1ede2 do not wait for LSP to be fully ready 2025-07-09 21:59:38 -04:00
Frank Denis
727fe6f942
LSP: fix SimpleRoots to actually search in the root directory (#795) 2025-07-09 10:35:06 -05:00
Dax Raad
6de955847c big rework of LSP system 2025-07-08 18:14:49 -04:00
Robb Currall
a2fa7ffa42
fix: support cancelled task state (#775) 2025-07-08 15:33:39 -05:00
adamdottv
f31cbf2744
fix: image reading 2025-07-08 13:02:13 -05:00
Dax
f884766445
v2 message format and upgrade to ai sdk v5 (#743)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Liang-Shih Lin <liangshihlin@proton.me>
Co-authored-by: Dominik Engelhardt <dominikengelhardt@ymail.com>
Co-authored-by: Jay V <air@live.ca>
Co-authored-by: adamdottv <2363879+adamdottv@users.noreply.github.com>
2025-07-07 15:53:43 -04:00
Dax Raad
163e23a68b removed banned command concept 2025-07-04 11:32:12 -04:00
Dax Raad
cf83e31f23 add elixir lsp support 2025-07-03 19:29:51 -04:00
Daniel Vélez
caf465a9da
chore: rename OpenCode to opencode (#579) 2025-07-02 05:09:51 -05:00
Dax Raad
de15e67834 fix lsp diagnostic accurancy 2025-06-30 22:48:32 -04:00
Dax Raad
03664ba588 fix formatting of bash tools 2025-06-30 15:28:59 -04:00
Dax Raad
dd5736fe5f add back in file hierarchy in system prompt but limit to 200 items 2025-06-30 14:46:46 -04:00
Dax Raad
2ec0611f42 lazy load formatters 2025-06-27 11:33:37 -04:00
Dax Raad
51bf193889 ignore: run prettier 2025-06-26 22:30:44 -04:00
Dax Raad
f8b78f08b4 add auto formatting and experimental hooks feature 2025-06-26 22:17:08 -04:00
Dax Raad
d240f4c676 more edit tool fixes 2025-06-25 19:22:54 -04:00
Dax Raad
9c90cdbe08 integrate gemini-cli strategies for edit tool 2025-06-25 17:56:14 -04:00
Dax Raad
fc7af31fe5 make edit tool more robust 2025-06-25 17:10:48 -04:00
Dax Raad
f19c6b05f2 glob tool should respect .gitignore 2025-06-23 17:37:32 -04:00
Márk Magyar
333569bed3
ignore: fix typos and formatting (#294) 2025-06-22 14:26:46 -04:00