Kit Langton
38f8714c09
refactor(effect): build task tool from agent services ( #21017 )
2026-04-08 19:02:19 -04:00
Dax
b7fab49b64
refactor(snapshot): store unified patches in file diffs ( #21244 )
...
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
2026-04-07 19:48:23 -04:00
Dax
463318486f
core: refactor tool system to remove agent context from initialization ( #21052 )
2026-04-07 19:48:12 -04:00
Aiden Cline
bc1840b196
fix(opencode): clear webfetch timeouts on failed fetches ( #21378 )
2026-04-07 20:46:02 +00:00
Aiden Cline
3a0e00dd7f
tweak: add newline between <content> and first line of read tool output to prevent confusion ( #21070 )
2026-04-05 04:55:22 +00:00
Kit Langton
c796b9a19e
refactor(effect): move read tool onto defineEffect ( #21016 )
2026-04-04 19:06:00 -04:00
Kit Langton
f2d4ced8ea
refactor(effect): build todowrite tool from Todo service ( #20789 )
...
Co-authored-by: Juan Pablo Carranza Hurtado <52012198+jpcarranza94@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 12:05:40 -04:00
Kit Langton
7994dce0f2
refactor(effect): resolve built tools through the registry ( #20787 )
2026-04-03 10:31:00 -04:00
Juan Pablo Carranza Hurtado
81d3ac3bf0
fix: prevent Tool.define() wrapper accumulation on object-defined tools ( #16952 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 22:09:53 -04:00
Aiden Cline
38014fe448
fix: rm dynamic part from bash tool description again to restore cache hits across projects ( #20771 )
2026-04-03 00:16:40 +00:00
Kit Langton
8942fc21aa
refactor(effect): prune unused facades ( #20748 )
2026-04-02 20:15:09 -04:00
Kit Langton
5e1b513527
refactor(todo): effectify session todo ( #20595 )
2026-04-02 19:11:23 +00:00
Kit Langton
c3ef69c866
test(app): add a golden path for mocked e2e prompts ( #20593 )
2026-04-02 18:17:28 +00:00
Kit Langton
0bae38c062
refactor(instruction): migrate to Effect service pattern ( #20542 )
2026-04-01 22:22:51 -04:00
opencode-agent[bot]
854484babf
chore: generate
2026-04-01 23:49:44 +00:00
Kit Langton
e4ff1ea778
refactor(bash): use Effect ChildProcess for bash tool execution ( #20496 )
2026-04-01 19:48:47 -04:00
Kit Langton
5fd833aa18
refactor: standardize InstanceState variable name to state ( #20267 )
2026-04-01 10:39:43 -04:00
Kit Langton
c5442d418d
refactor(session): effectify SessionPrompt service ( #19483 )
2026-03-30 20:06:51 +00:00
Luke Parker
b234370080
feat(windows): add first-class pwsh/powershell support ( #16069 )
2026-03-30 13:10:01 +10:00
Aiden Cline
15a8c22a26
tweak: adjust bash tool description to increase cache hit rates between projects ( #19487 )
2026-03-27 23:53:36 -05:00
Sebastian
6274b0677c
tui plugins ( #19347 )
2026-03-27 15:00:26 +01:00
opencode-agent[bot]
d8ad8338f5
chore: generate
2026-03-27 13:53:59 +00:00
Kit Langton
7b44918149
refactor(tool-registry): yield Config/Plugin services, use Effect.forEach ( #19363 )
2026-03-27 09:53:00 -04:00
Kit Langton
97c15a087d
effectify Bus service: migrate to Effect PubSub + InstanceState ( #18579 )
2026-03-25 20:19:24 -04:00
Ariane Emory
66a56551be
fix(task): respect agent permission config for todowrite tool ( #19125 )
2026-03-25 15:18:52 -05:00
Aiden Cline
77fc88c8ad
chore: remove dead code for todoread tool ( #19128 )
2026-03-25 16:21:42 +00:00
Kit Langton
fe53af4819
effectify ToolRegistry service ( #18571 )
2026-03-22 01:06:01 +00:00
Kit Langton
38e0dc9ccd
Move service state into InstanceState, flatten service facades ( #18483 )
2026-03-21 04:51:35 +00:00
Kit Langton
214a6c6cf1
fix: switch consumers to service imports to break bundle cycles ( #18438 )
2026-03-20 20:55:46 +00:00
Kit Langton
e78944e9a4
effectify Installation service, drop Effect suffix from namespaces ( #18266 )
2026-03-20 12:10:33 -04:00
Luke Parker
7866dbcfcc
fix: avoid truncate permission import cycle ( #18292 )
2026-03-19 23:52:04 -04:00
Dax
1071aca91f
fix: miscellaneous small fixes ( #18328 )
2026-03-19 22:20:29 -04:00
opencode-agent[bot]
4f21757e0d
chore: generate
2026-03-19 20:05:33 +00:00
jorge g
2dbcd79fd2
fix: stabilize agent and skill ordering in prompt descriptions ( #18261 )
...
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-03-19 15:04:03 -05:00
Kit Langton
81be544981
feat(filesystem): add AppFileSystem service, migrate Snapshot ( #18138 )
2026-03-18 19:52:43 -04:00
opencode-agent[bot]
c3ddc85cca
chore: generate
2026-03-18 17:37:40 +00:00
Kit Langton
a800583aea
refactor(effect): unify service namespaces and align naming ( #18093 )
2026-03-18 13:34:36 -04:00
opencode-agent[bot]
0292f1b559
chore: generate
2026-03-18 02:01:02 +00:00
Kit Langton
5dfe86dcb1
refactor(truncation): effectify TruncateService, delete Scheduler ( #17957 )
2026-03-17 21:59:54 -04:00
Kit Langton
2cbdf04ec9
refactor(file-time): effectify FileTimeService with Semaphore locks ( #17835 )
2026-03-16 18:23:13 +00:00
Kit Langton
1cb7df7159
refactor(provider): flow branded ProviderID/ModelID through internal signatures ( #17182 )
2026-03-12 14:48:17 +00:00
Kit Langton
2a4dedc210
feat(id): brand PermissionID, PtyID, QuestionID, and ToolID ( #17042 )
2026-03-12 01:49:57 +00:00
Kit Langton
090f636354
feat(id): brand PartID through Drizzle and Zod schemas ( #16966 )
2026-03-11 23:40:50 +00:00
Kit Langton
16a6d6feba
feat(id): brand WorkspaceID through Drizzle and Zod schemas ( #16964 )
2026-03-11 23:30:17 +00:00
Kit Langton
cb67465675
feat(id): brand SessionID through Drizzle and Zod schemas ( #16953 )
2026-03-11 23:16:56 +00:00
Aiden Cline
f96e2d4222
tweak: adjust skill presentation to be a little less token heavy ( #17098 )
2026-03-11 16:03:15 -05:00
Aiden Cline
0f6bc8ae71
tweak: adjust way skills are presented to agent to increase likelyhood of skill invocations. ( #17053 )
2026-03-11 10:24:55 -05:00
Luke Parker
4ab35d2c5c
fix(electron): hide Windows background consoles ( #16842 )
...
Co-authored-by: Brendan Allan <git@brendonovich.dev>
2026-03-11 13:33:06 +10:00
Dax
2f2856e20a
refactor(opencode): replace Bun shell in core flows ( #16286 )
2026-03-09 15:19:50 -04:00
Quan Ran
be9b4d1bcd
fix(opencode): preserve original line endings in 'edit' tool ( #9443 )
...
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-03-07 07:42:54 +00:00
Dax
e79d41c70e
docs(bash): clarify output capture guidance ( #15928 )
2026-03-03 21:10:26 -05: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
3af12c53c4
fix(opencode): import custom tools via file URL ( #14971 )
2026-02-25 10:24:47 +10: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
Dax
cb8b74d3f1
refactor: migrate from Bun.Glob to npm glob package ( #14317 )
2026-02-19 13:40:09 -05: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
Dax Raad
568eccb4c6
Revert: all refactor commits migrating from Bun.file() to Filesystem module
2026-02-18 19:41:14 -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
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
Aiden Cline
3b97580621
tweak: ensure read tool uses fs/promises for all paths ( #14027 )
2026-02-17 16:05:22 -06:00
Aiden Cline
c1b03b728a
fix: make read tool more mem efficient ( #14009 )
2026-02-17 15:36:45 -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
Aiden Cline
179c40749d
fix: tweak websearch tool description date info to avoid cache busts ( #13559 )
2026-02-13 23:59:10 -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
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