Commit graph

437 commits

Author SHA1 Message Date
Aiden Cline
643c22d21f add catch for mcp tool execution 2025-10-28 10:23:04 -05:00
Aiden Cline
74acd08ead add catch for mcp tool execution 2025-10-28 10:23:03 -05:00
Dax Raad
22821744ef feat: add OPENCODE_FAKE_VCS flag for VCS testing and update todo tracking instructions 2025-10-28 02:54:29 -04:00
Aiden Cline
982954cc1b
feat (acp): mcp server support, file diffs, some default slash commands (/init, /compact), show todos properly (#3490)
The mcp server support does not mean acp didn't allow u to use mcp servers previously, it means that now you can connect new servers via ACP instead of relying on the opencode defined ones
2025-10-28 00:08:30 -05:00
Aiden Cline
3c56dbcf58 chore: rm comment 2025-10-27 16:15:13 -05:00
Aiden Cline
0af4505756 fix: litellm error tool= param must be specified 2025-10-27 14:03:42 -05:00
Aiden Cline
e6301ca5d5 tweak: rename event 2025-10-27 10:42:47 -05:00
Bernat Pericàs
b562863fcc
feat: add session.started event that triggers when a new session is created (#3413) 2025-10-27 07:18:23 -05:00
Aiden Cline
1a6fd018f6 Revert "fix: Explicitly exit CLI to prevent hanging subprocesses (#3083)"
This reverts commit a9624c0fff.
2025-10-27 01:30:13 -05:00
Haris Gušić
a9624c0fff
fix: Explicitly exit CLI to prevent hanging subprocesses (#3083)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-10-27 00:03:10 -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
0a778a2789 make title gen more reliable 2025-10-25 22:14:29 -05:00
Dax Raad
795b845782 update anthropic prompt 2025-10-25 17:26:27 -04:00
Mohammad Alhashemi
2e434a459a
feat: add noReply parameter (#3433)
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-25 14:56:54 -05:00
Aiden Cline
98d51dde6a
acp: slash commands, agents, permissions, @ references, code cleanup (#3403)
Co-authored-by: yetone <yetoneful@gmail.com>
2025-10-25 01:32:46 -05:00
Dax Raad
21880e199d mroe summary tweaks 2025-10-24 12:37:23 -04:00
Dax Raad
736a85d427 track finish reason 2025-10-24 12:23:24 -04:00
Dax Raad
fb40dc6b20 generate user message title and body 2025-10-24 11:50:42 -04:00
Dax Raad
7003efd2da fix summary 2025-10-24 09:24:58 -04:00
Dax Raad
8b9b8ca15b update codex prompt 2025-10-23 23:36:32 -04:00
Dax Raad
cee7106054 session summaries in data 2025-10-23 16:28:20 -04:00
Dax Raad
f4dfae0bb0 ignore: diff stuff 2025-10-23 16:04:58 -04:00
Aiden Cline
913c3ae799 tweak: split out title before newline 2025-10-23 12:44:43 -05:00
Andrew Pashynnyk
3c7b229d8b
fix: allow tool.execute.after hook to modify MCP tool output (#3381) 2025-10-23 10:38:55 -05:00
Aiden Cline
7c7ebb0a9d
feat: retry parts (#3369) 2025-10-22 18:31:36 -05:00
Dax Raad
9def7cff2d summary tweaks 2025-10-22 19:03:08 -04:00
Dax Raad
f435049d36 sync 2025-10-22 18:49:57 -04:00
Dax Raad
1f80de2fa6 core: add experimental turn summarization to compact conversation history 2025-10-22 18:33:46 -04:00
Dax Raad
28d8af48a0 add parent id to assistant messages 2025-10-22 15:01:13 -04:00
Aiden Cline
ca0f3902b7
fix: provider option transforms (#3331) 2025-10-21 11:08:21 -05:00
Dax Raad
e9996342a7 core: provide line-level statistics in file diffs to help users understand the scale of changes 2025-10-21 11:54:41 -04:00
zWing
96efede846
fix: openai options when using @ai-sdk/azure (#3315) 2025-10-20 23:30:13 -05:00
Dax Raad
a0a09f421c core: add session diff API to show file changes between snapshots 2025-10-20 17:59:26 -04: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
1c7bd6365e
replace all $ARGUMENTS (#3276) 2025-10-18 23:37:17 -05:00
Aiden Cline
1f869bccc1
make compact interruptable (#3251) 2025-10-18 11:49:29 -05:00
Aiden Cline
d69366b00c Revert "try to avoid persisting empty thinking/text blocks"
This reverts commit d8a15e7bc9.
2025-10-16 22:04:55 -05:00
Dax Raad
d8a15e7bc9 try to avoid persisting empty thinking/text blocks 2025-10-16 10:54:10 -04:00
Aiden Cline
1c59530115
Revert "fix: Text content blocks must contain non-whitespace text" (#3200) 2025-10-15 20:02:17 -05:00
Dax Raad
790fe72f39 sync 2025-10-15 19:48:57 -04:00
Fabian Kukuck
ca534a36e5
feat: make compact feature use streaming API (#3079)
Co-authored-by: fku <fabian.kukuck@ipt.ch>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2025-10-15 13:44:16 -05:00
Aiden Cline
b2ff4be4c6
fix: Text content blocks must contain non-whitespace text (#3194) 2025-10-15 13:00:26 -05:00
Aiden Cline
b3fcc9a81d
tweak: consolidate session lock logic (#3185) 2025-10-15 01:12:51 -05:00
Aiden Cline
682d30bd12
fix: custom model (#3156) 2025-10-13 19:58:19 -05:00
Haris Gušić
dbe9fd00b7
fix: make shell more robust (#3051) 2025-10-13 17:37:35 -05:00
Aiden Cline
53d9717d90
fix: pass options to compact (#3136) 2025-10-13 10:42:39 -05:00
Aiden Cline
225adc46ba
feat: allow read tool to handle images (#3052) 2025-10-09 09:05:11 -05:00
Aiden Cline
cd528ae78f
fix: mcp error (#3006) 2025-10-07 00:45:46 -05:00
Dax Raad
10998d62b9 core: improve session API reliability with proper input validation 2025-10-06 19:37:44 -04:00
Dax Raad
cdd6e98af9 Add missing files and fix type aliases for opentui features 2025-10-06 18:53:35 -04:00
Dax Raad
9a0735de76 Add session forking functionality and simplify remove logic 2025-10-06 18:50:56 -04:00
Mani Sundararajan
889c276558
fix: file references & grep tool for windows (#2980) 2025-10-05 14:32:07 -05:00
Aiden Cline
71a7e8ef36
fix: max output tokens when using large thinking budget (#2976) 2025-10-04 23:38:41 -05:00
Dax Raad
6e19200fca overhaul file search and support @ mentioning directories 2025-10-01 03:37:01 -04:00
Dax Raad
5a507023a6 update anthropic system prompts 2025-09-30 04:41:36 -04:00
Dax Raad
d0043a4a78 sync 2025-09-27 02:53:20 -04:00
Aiden Cline
5d95846df1
fix: openai reasoning issue (#2780) 2025-09-26 01:23:30 -04:00
Aiden Cline
ffa5689885
docs: subtask config option (#2682) 2025-09-18 17:52:23 -05:00
Julián Díaz
71076d5c68
fix: add synthetic user prompt after session compaction (#2659)
Co-authored-by: Julián Díaz <git@jdiaz.io>
2025-09-17 23:27:37 -04:00
Aiden Cline
ff6a93f355
fix: only keep aborted messages if they have sufficient parts (#2651) 2025-09-17 14:24:53 -05:00
Aiden Cline
3c3d6b65c2
Revert "fix: type 'reasoning' was provided without its required follo… (#2648) 2025-09-17 11:17:26 -05:00
Aiden Cline
8c2aec43b8
fix: type 'reasoning' was provided without its required following item (#2633) 2025-09-17 09:45:13 -05:00
Aiden Cline
2564801bde
tweak: adjust title gen when using models like gpt-5-nano on non open… (#2646) 2025-09-17 08:39:34 -05:00
Dax Raad
259c722208 only prune messages from more than 2 turns ago 2025-09-17 03:30:09 -04:00
Dax Raad
3aeac02bf1 enable session pruning and allow disabling with OPENCODE_DISABLE_PRUNE 2025-09-16 04:53:17 -04:00
Dax Raad
2d5bd26a59 feat: enhance provider model mapping and reasoning capabilities
- Add npm package tracking to provider model mapping
- Implement special handling for opencode provider with reasoning
- Update provider options mapping to use npm package names
2025-09-16 03:10:17 -04:00
Stephen Murray
52fb571739
fix: restore chat.message plugin hook (#2619) 2025-09-15 21:44:07 -05: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
e3e459fc50
fix: reasoning metadata persistence (#2602) 2025-09-14 16:28:06 -05:00
Aiden Cline
16d66c209d
respect subagent in command, add subtask flag (#2569) 2025-09-13 12:47:18 -05:00
Aiden Cline
6506e48c54
tweak: keep aborted msgs in context (#2583) 2025-09-13 12:25:30 -05:00
Dax Raad
a00b49d65b disable autocompact if context is 0 2025-09-13 05:59:18 -04:00
Dax Raad
b1589be4ba add disable OPENCODE_DISABLE_AUTOCOMPACT 2025-09-13 05:55:04 -04:00
Dax Raad
eb24d2f847 ignore: fix 2025-09-13 05:53:03 -04: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
555fb53505 nudge llm to continue properly after compaction 2025-09-13 01:23:54 -04:00
Stephen Murray
c02f58c2af
fix: await cleanupRevert() to prevent dupe msgs after undo (#2572) 2025-09-12 18:42:39 -05:00
Dax Raad
f2094b7bb3 temporarily disable midstream compaction 2025-09-12 14:00:54 -04:00
Dax Raad
3e2478ebf9 undo session pruning 2025-09-12 13:20:13 -04:00
Dax Raad
0290b4aaf0 ignore: internal 2025-09-12 10:45:44 +00:00
Dax Raad
469dc9095f add microcompact 2025-09-12 06:38:47 -04:00
Dax Raad
983e3b2ee3 fix compaction issues 2025-09-12 06:01:11 -04:00
Dax Raad
4c94753eda compaction improvements 2025-09-11 02:22:51 -04:00
Aiden Cline
29310957c8
fix: handle @dir in command (#2533) 2025-09-10 13:27:44 -05:00
Aiden Cline
bdc0f7c86d
tweak: wrap build-switch w/ system-reminder (#2525) 2025-09-09 23:57:13 -05:00
Dax Raad
e69d10b6c9 repair tool calls when casing is wrong 2025-09-09 23:25:27 -04:00
Aiden Cline
74469a0d3d
fix: shell invocations are dropped if last interaction was revert (#2485) 2025-09-07 21:45:13 -05:00
Ytzhak
4654fb88de
fix: max output tokens when setting budget thinking tokens (#2056)
Co-authored-by: rekram1-node <aidenpcline@gmail.com>
2025-09-07 13:15:53 -05:00
Aiden Cline
93c2f5060e
fix: title gen w/ gpt-5-nano (#2473) 2025-09-06 22:50:16 -05:00
Aiden Cline
564143071e
fix: title not generated if first msg is shell invocation (#2451) 2025-09-06 09:47:42 -05:00
Aiden Cline
bffe547417
fix: command model selection (#2448) 2025-09-05 20:54:39 -05:00
Adam
f171250033
fix: better file/content return 2025-09-04 12:39:49 -05:00
Aiden Cline
f740663ded
fix: more durable @ references for commands (#2386) 2025-09-02 21:24:56 -05:00
Adam Spiers
47d4c87bdd
make @file references in custom slash commands more robust (#2203)
Co-authored-by: Adam Spiers <opencode@adamspiers.org>
Co-authored-by: rekram1-node <aidenpcline@gmail.com>
2025-09-01 21:14:27 -05:00
Dax Raad
4c261ab1db switch gpt-5 to default to codex prompt + high reasoning 2025-09-01 21:46:03 -04: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
029612d8d5
fix: ensure shell cmds can be properly aborted (#2339) 2025-08-31 12:48:30 -05:00
Aiden Cline
e9826e8a22
fix: adjust title generation prompt to prevent direct response instead of title gen (#2338) 2025-08-31 11:01:19 -05:00
Aiden Cline
a3f4a030b4
fix: mcp tool not triggering hooks (#2320) 2025-08-29 21:51:06 -05:00
Aiden Cline
7f5e5fccc8
ignore: add error log for title gen failures (#2309) 2025-08-29 10:53:58 -05:00
Aiden Cline
1a5b456bb6
fix: add additional encouragement for title gen (#2298) 2025-08-29 09:47:08 -05:00
Aiden Cline
6daf0fdb2b
allow slash commands to resolve ~/ references (#2295) 2025-08-28 17:31:03 -05:00
Aiden Cline
ad8ea82611
add synthetic user message before bash execution (when using !) (#2283) 2025-08-27 17:41:24 -05:00
Aiden Cline
2d794ed03d
fix: ensure / commands dont try to resolve @ references from cmd outputs (#2282) 2025-08-27 15:59:33 -05:00
Aiden Cline
cc66e06101
fix: command model selection (#2219) 2025-08-24 12:06:48 -05:00
Aiden Cline
1f57b9a70f
fix: count reasoning tokens (#2187) 2025-08-22 18:21:39 -05:00
Dax
133fe41cd5
slash commands (#2157)
Co-authored-by: adamdotdevin <2363879+adamdottv@users.noreply.github.com>
2025-08-22 17:04:28 -04:00
Aiden Cline
9231043eb4
tweak: adjust plan -> build transition prompt (#2111) 2025-08-21 06:52:38 -05:00
Dax Raad
aa10f8a7f6 sonic model 2025-08-20 01:02:41 -04:00
Aiden Cline
25f43adaa0
tweak: notify agent it is in build mode when switching from plan mode (#2065) 2025-08-19 15:32:31 -05:00
Aiden Cline
ca3769b7fa
tweak: plan prompt, more explicit about not modifying files (#1991) 2025-08-16 08:56:43 -05:00
Yihui Khuu
70f14cccd6
feat(shell): load .zshenv and respect ZDOTDIR if present (#1958) 2025-08-15 13:24:34 -05:00
Yihui Khuu
86df4073d1
fix(shell): commands expecting stdin will be "working" indefinitely (#1964) 2025-08-15 13:23:59 -05:00
adamdotdevin
07dbc30c63
feat(tui): navigate child sessions (subagents) 2025-08-15 10:16:08 -05:00
Mariano Uvalle
0befc5d602
Feat: Render tool metadata after permission rejection. (#1949)
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
2025-08-15 06:16:40 -05:00
Aiden Cline
62fed8d2ce
fix: fish shell (#1950) 2025-08-15 06:11:09 -05:00
Aiden Cline
6eaaaffcdd
fix: small tweak to support nushell (#1943) 2025-08-14 17:54:22 -05:00
Dax Raad
796bc390db fix for session stuck in "Working..." 2025-08-14 12:20:22 -04:00
Aiden Cline
4dea0209bb
fix: support fish shell (#1911) 2025-08-13 20:04:04 -05:00
Aiden Cline
118617473e
fix: bash should hide stdout from zshrc (#1909) 2025-08-13 17:04:32 -04:00
Dax Raad
93b71477e6 support !shell commands 2025-08-13 15:26:13 -04:00
adamdotdevin
1357319f6f
feat: bash commands 2025-08-13 13:28:22 -05:00
Dax Raad
e729eed34d wip: bash 2025-08-13 14:14:27 -04:00
Dax Raad
c6344c5714 wip: bash 2025-08-13 13:31:29 -04:00
Dax Raad
7505fa61b9 wip: bash commands 2025-08-13 13:29:06 -04:00
adamdotdevin
f2021a85d6
fix: allow attachments outside cwd, and support svg 2025-08-13 10:36:50 -05:00
Dax Raad
e2920ac262 update copilot prompt 2025-08-12 20:01:34 -04:00
Dax Raad
5785ded6e2 add openai prompt cache key 2025-08-12 17:37:15 -04:00
Dax Raad
fab0e5de04 fix issue when @ tagging fiels throwing error 2025-08-12 13:30:52 -04:00
Dax
10735f93ca
Add agent-level permissions with whitelist/blacklist support (#1862) 2025-08-12 11:39:39 -04:00
Dax Raad
1ec71e419b support wildcard matching tool names in config 2025-08-11 23:37:09 -04:00
Dax Raad
dac1506680 update anthropic prompt and variables 2025-08-11 21:01:33 -04:00
Dax Raad
6eaa231587 Update GPT-5 system prompt to use copilot-specific prompt instead of codex prompt
🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <noreply@opencode.ai>
2025-08-11 14:28:49 -04:00
adamdotdevin
5e777fd2a2
feat: toggle tool details visible 2025-08-11 11:58:46 -05:00
Timo Clasen
23757f3ac0
fix: only load the first local and global rule file (#1761) 2025-08-11 08:28:03 -05:00
Aiden Cline
df7296cfe1
fix: instructions should be able to handle absolute paths (#1762) 2025-08-11 08:23:41 -05:00
Dax Raad
457386ad08 fix plan mode bash tool making changes 2025-08-11 01:15:12 -04:00
Dax Raad
13d3fba86b switch gpt-5 to codex prompt 2025-08-10 20:47:38 -04:00
Dax Raad
3ab4f42ebb support agent options 2025-08-10 20:30:37 -04:00
adamdotdevin
b8d2aebf09
feat: thinking blocks rendered in tui and share page 2025-08-10 19:25:03 -05:00
Dax Raad
d3ff66e911 use minimal reasoning effort for gpt-5 2025-08-09 15:38:48 -04:00
Aiden Cline
e2fac991dc
better permissions ux when denying (#1747) 2025-08-09 11:03:33 -05:00
Dax Raad
7bbc643600 remove synthetic message in plan mode, fixes being confused in build mode 2025-08-08 20:45:24 -04:00
Dax Raad
53630ebdce gpt-5 lower verbosity 2025-08-08 20:42:22 -04:00
Dax Raad
4f164c53d2 temporary fix for max output token 2025-08-07 22:54:59 -04:00
Dax Raad
8750744068 renable todo tool 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
a48274f82b
permissions disallow support (#1627) 2025-08-05 19:14:28 -05:00
Timo Clasen
49aa48ce58
fix: prevent title regeneration on auto compact (#1628) 2025-08-05 17:15:50 -05:00
Dax Raad
857a3cd522 hint back to llm when tool does not exist 2025-08-05 15:58:12 -04:00