Commit graph

767 commits

Author SHA1 Message Date
Nate Williams
5b5b791d75
fix(tui): fix broken /export toggling (#16443) 2026-03-07 12:52:17 +05:30
Luke Parker
8a95be492d
fix(windows): git path resolution for modified files across Git Bash, MSYS2, and Cygwin (#16422) 2026-03-07 15:42:14 +10:00
Dax
326c70184d
fix: restore Bun stdin reads for prompt input (#16300) 2026-03-06 02:08:10 -05:00
Dax
74effa8eec
refactor(opencode): replace Bun.which with npm which (#15012) 2026-03-06 05:18:29 +00:00
Dax Raad
7e28098365 refactor: use node:stream/consumers for stdin reading 2026-03-05 22:08:50 -05:00
Dax Raad
ae5c9ed3dd refactor: replace Bun.stdin.text with Node.js stream reading 2026-03-05 22:04:20 -05:00
Dax
3ebba02d04
refactor: replace Bun.sleep with node timers (#15013) 2026-03-05 21:54:06 -05:00
Dax
4da199697b
feat(tui): add onClick handler to InlineTool and Task components (#16187) 2026-03-05 15:02:30 +00:00
Luke Parker
7f7e622426
dont let dax touch the ui (#16060) 2026-03-04 23:31:48 +00:00
Sebastian
18cad10647
show scrollbar by default (#15282) 2026-03-04 15:10:27 +01:00
Dax
3ebebe0a96
fix(process): prevent orphaned opencode subprocesses on shutdown (#15924) 2026-03-03 22:14:28 -05:00
Dax Raad
c4ffd93caa tui: replace curved arrow with straight arrow for better terminal compatibility 2026-03-03 15:25:11 -05:00
Dax Raad
c78e7e1a28 tui: show pending toolcall count instead of generic 'Running...' message 2026-03-03 15:08:11 -05:00
Dax
e3a787a7a3
tui: use arrow indicator for active tool execution (#15887) 2026-03-03 14:46:07 -05:00
Sebastian
3310c25dd1
Upgrade opentui to v0.1.86 and activate markdown renderable by default (#14974) 2026-03-03 15:42:27 +00:00
Jérôme Benoit
18850c4f91
fix(opencode): disable session navigation commands when no parent session (#15762)
Co-authored-by: Test User <test@test.com>
Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
2026-03-03 16:00:25 +05:30
Dax
90270c615d
feat(tui): improve task tool display with subagent keybind hints and spinner animations (#15607) 2026-03-01 17:46:10 +00:00
James Long
3dc10a1c16
Change keybindings to navigate between child sessions (#14814) 2026-02-27 09:41:23 -05: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
Dax Raad
561f9f5f05 opencode go copy 2026-02-25 01:54:28 -05:00
Dax
637059a515
feat: show LSP errors for apply_patch tool (#14715) 2026-02-25 04:15:11 +00:00
Dax
814c1d398c
refactor: migrate Bun.spawn to Process utility with timeout and cleanup (#14448) 2026-02-24 23:04:15 -05:00
Aiden Cline
1a329ba47d
fix: issue from structuredClone addition by using unwrap (#14359) 2026-02-19 19:28:06 -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
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
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
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
6fb4f2a7a5
refactor: migrate src/cli/cmd/tui/thread.ts from Bun.file() to Filesystem module (#14135) 2026-02-18 17:28:41 -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
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 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
David Hill
b784c923a8 tweak(ui): bump button heights and align permission prompt layout 2026-02-17 17:43:37 +00:00
David Hill
07947bab7d
tweak(tui): new session banner with logo and details (#13970) 2026-02-17 07:43:55 -05: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
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
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
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
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
Kit Langton
135f8ffb2a
feat(tui): add toggle to hide session header (#13244) 2026-02-12 02:21:42 +00: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
Dax
6e9cd576ea
fix(tui): default session sidebar to auto (#13046) 2026-02-11 01:26:01 +00:00
Dax
27fa9dc843
refactor: clean up dialog-model.tsx per code review (#12983) 2026-02-10 15:13:37 +00: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
Marcio
056d0c1197
fix(tui): use sender color for queued messages (#12832) 2026-02-09 16:54:12 -06:00
Aiden Cline
a7c5d5ac4c
Revert "feat(tui): restore footer to session view (#12245)" (#12836) 2026-02-09 10:08:26 -06:00
Khang Ha (Kelvin)
fde0b39b7c
fix: properly encode file URLs with special characters (#12424) 2026-02-06 16:16:56 -06: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
Ariane Emory
449c5b44b7
feat(tui): restore footer to session view (#12245) 2026-02-06 10:21:16 -06:00
Akshar Patel
683d234d80
feat(tui): highlight esc label on hover in dialog (#12383) 2026-02-05 20:11:08 -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
Akshar Patel
102d8e72bb
fix(tui): allow mouse escape via "esc" labels in dialogs (#11421) 2026-02-05 16:14:49 -06:00
Goni Zahavy
40ebc34909
feat(tui): add running spinner to bash tool in TUI (#12317) 2026-02-05 12:23:02 -06:00
Ariane Emory
4387f9fb9a
feat: Allow the function to hide or show thinking blocks to be bound to a key (resolves #12168) (#12171) 2026-02-04 18:29:46 -06:00
Maharshi Patel
31e2feb347
fix(tui): add hover states to question tool tabs (#12203) 2026-02-04 18:28:22 -06:00
Sebastian
64bafce665
restore direct osc52 (#12071) 2026-02-04 00:35:57 -06:00
Idris Gadi
95211a8854
feat(tui): allow theme colors in agent customization (#11444) 2026-02-03 15:09:21 -06:00
MartinWie
82dd4b6908
fix: always fall back to native clipboard after OSC52 (#11994) 2026-02-03 20:53:04 +01:00
opencode-agent[bot]
5e3162b7f4 chore: generate 2026-02-02 22:30:23 +00:00
Joseph Campuzano
f9aa209131
fix: fixes issue where the autocomplete tui dialog flickers while typing (#11641) 2026-02-02 16:29:43 -06:00
Pablo P Varela
965f32ad63
fix(tui): respect terminal transparency in system theme (#8467) 2026-02-02 11:36:47 -06:00
Dax
4369d79636
tui: truncate session title in exit banner (#11797) 2026-02-02 14:30:10 +00:00
Sebastian
3982c7d99a
Use opentui OSC52 clipboard, again (#11744) 2026-02-02 08:12:50 +01:00
Dax
7a9290dc9b
tui: show exit message banner (#11733) 2026-02-02 00:13:47 -05:00
Dax Raad
cfbe9d329f Revert "Use opentui OSC52 clipboard (#11718)"
This reverts commit 8e985e0a75.
2026-02-02 00:13:02 -05:00
Dax
0dc80df6fd
Add spinner animation for Task tool (#11725) 2026-02-01 22:51:55 -05:00
Sebastian
8e985e0a75
Use opentui OSC52 clipboard (#11718)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-02-02 04:48:29 +01:00
Dax Raad
83d0e48e38 tui: fix task status to show current tool state from message store 2026-02-01 20:52:17 -05:00
zerone0x
cc1d3732bc
fix(tui): remove outer backtick wrapper in session transcript tool formatting (#11566)
Co-authored-by: Claude <noreply@anthropic.com>
2026-02-01 13:11:18 -06:00
adamjhf
c3faeae9d0
fix: correct pluralization of match count in grep and glob tools (#11565) 2026-02-01 00:15:28 -06:00
Dax
94baf1f721
fix(tui): remove extra padding between search and results in dialog-select (#11564) 2026-02-01 04:04:57 +00:00
Dax
9b8b9e28e2
feat(tui): add UI for skill tool in session view (#11561) 2026-01-31 22:59:46 -05:00
Dax
2a56a1d6ef
fix(tui): conditionally render bash tool output (#11558) 2026-01-31 22:40:37 -05:00
Dax
5b784871f0
feat: add skill dialog for selecting and inserting skills (#11547) 2026-01-31 20:52:54 -05:00
Dax Raad
e70d984320 tui: enable password authentication for remote session attachment
Allow users to authenticate when attaching to a remote OpenCode session by supporting basic auth via a password flag or OPENCODE_SERVER_PASSWORD environment variable
2026-01-31 14:42:36 -05:00
大猫子
35f64b80fa
docs: fix documentation issues (#11435)
Co-authored-by: damaozi <1811866786@qq.com>
2026-01-31 12:30:45 -06:00
Ryan Vogel
53f118c57a
Revert "feat(app): add skill slash commands" (#11484) 2026-01-31 10:20:23 -05:00
Ryan Vogel
786ae0a584
feat(app): add skill slash commands (#11369) 2026-01-31 08:59:28 -06:00
Dax
81ac41e089
feat: make skills invokable as slash commands in the TUI (#11390) 2026-01-31 00:41:55 -05:00
Dax Raad
3542f3e406 Revert "feat: make skills invokable as slash commands in the TUI"
This reverts commit 85126556b8.
2026-01-30 20:37:41 -05:00
Dax Raad
85126556b8 feat: make skills invokable as slash commands in the TUI
- Add Skill.content() method to load skill template content from SKILL.md files
- Modify Command.list() to include skills as invokable commands
- Add 'skill' boolean property to Command.Info schema
- Update autocomplete to show skills with (Skill) label in slash commands
- Regenerate SDK to include skill property in Command type
2026-01-30 20:36:48 -05:00
Dax
2125dc11c7
fix: show all provider models when no providers connected (#11198) 2026-01-29 21:19:50 +00:00
Sebastian Herrlinger
41ea4694db more timeout race guards 2026-01-29 00:17:39 -05:00
Sebastian Herrlinger
58ba486375 guard destroyed input field in timeout 2026-01-28 23:53:37 -05:00
Tommy D. Rossi
8c05eb22b1
fix(markdown): Add streaming prop to markdown element (#11025) 2026-01-28 12:55:57 -05:00
Tito
aedd760141
fix(cli): restore brand integrity of CLI wordmark (#10912) 2026-01-27 22:24:02 -05:00
GitHub Action
5f2a7c630b chore: generate 2026-01-28 03:06:58 +00:00
Tommy D. Rossi
7988f52231
feat(app): use opentui markdown component behind experimental flag (#10900) 2026-01-27 22:06:09 -05:00
Aiden Cline
b8e726521d fix(tui): handle 4-5 codes too in c to copy logic 2026-01-27 16:29:01 -05: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
Ariane Emory
0edd304f42
fix: Make diff wrapping toggle always available in command_list and correct a type error (resolves #10682) (#10683) 2026-01-26 09:01:23 -05:00
Idris Gadi
444934a4c1
fix(tui): add visual feedback for diff wrap and conceal toggles (#10655) 2026-01-26 07:34:09 -05:00
Aiden Cline
eaad75b176 tweak: adjust tui syncing logic to help prevent case where agents would be undefined / missing 2026-01-25 21:26:47 -05:00
Aiden Cline
578361de64 fix: remove broken app.tsx command option 2026-01-25 20:27:41 -05:00
Ariane Emory
3071720ce7
fix(tui): Move animations toggle to global System category (resolves #10495) (#10497) 2026-01-25 17:57:47 -05:00
ishaksebsib
ebe86e40a0
fix(tui): prevent crash when theme search returns no results (#10565) 2026-01-25 12:11:49 -05:00
Maharshi Patel
8f99e9a606
fix(opentui): question selection click when terminal unfocused (#9731) 2026-01-24 15:12:16 -05:00
Sebastian Herrlinger
ad27427b48 use min/maxHeight for question textarea 2026-01-24 12:14:12 -05:00
justfortheloveof
077d17d433
fix: permission prompt should ignore keyboard events while dialog stack len > 0 (#10338) 2026-01-24 12:01:46 -05:00
GitHub Action
ae77ef3370 chore: generate 2026-01-24 14:47:36 +00:00
Ariane Emory
68e504bdc2
fix(tui): Use selectedForeground for question prompt tab text visibility (resolves #10334) (#10337) 2026-01-24 09:46:59 -05:00
Ariane Emory
225b72ca36
feat: always center selected item in selection dialogs (resolves #10209) (#10207) 2026-01-23 11:59:39 -06:00
Idris Gadi
510f595e25
fix(tui): add weight to fuzzy search to maintain title priority (#10106) 2026-01-22 16:15:11 -06:00
Greg Pstrucha
8ebb766470
fix(attach): allow remote --dir (#8969) 2026-01-22 13:19:08 -06:00
Suad Wolgram
936f3ebe95
feat(ui): add gruvbox theme (Web/App) (#9855) 2026-01-21 15:34:27 -06:00
Vinicius da Motta
b93f33eaa4
fix(tui): responsive layout for narrow screens (#9703) 2026-01-20 22:22:38 -06:00
Idris Gadi
e83c01ad36
fix(tui): prevent sidebar height from overflowing. (#9689) 2026-01-20 14:56:18 -06:00
Tommy D. Rossi
68e41a1ee7
fix: pass arguments to commands without explicit placeholders (#9606) 2026-01-20 11:12:43 -06:00
Dax Raad
aa4b06e165 tui: fix message history cleanup to prevent memory leaks 2026-01-19 18:22:19 -05:00
GitHub Action
e29120317f chore: generate 2026-01-19 20:47:09 +00:00
Ronan Kearns
88c5a7fe9e
fix(tui): clarify resume session tip (#9490) 2026-01-19 14:46:32 -06:00
Joseph Campuzano
091e88c1e1
fix(opencode): sets input mode based on whether mouse vs keyboard is in use to prevent mouse events firing (#9449) 2026-01-19 14:46:17 -06:00
Ariane Emory
c47699536f
fix: Don't unnecessarily wrap lines and introduce an unneeded empty line (resolves #9489) (#9488) 2026-01-19 13:56:24 -06:00
Luke Parker
d939a3ad54
feat(tui): use mouse for permission buttons (#9305) 2026-01-18 21:42:10 -06:00
Luke Parker
e81bb86795
fix: Windows evaluating text on copy (#9293) 2026-01-18 17:27:30 -06:00
Aiden Cline
b7ad6bd839
feat: apply_patch tool for openai models (#9127) 2026-01-18 00:35:09 -06:00
Nathan Flurry
bfb8c531c2
feat: bind vim-style line-by-line scrolling (#8980)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-01-17 21:54:26 -06:00
Kit Langton
759e68616e
refactor(tui): unify command registry and derive slash commands (#9115) 2026-01-17 20:39:19 -06:00
opencode-agent[bot]
93e43d8e5e
Hide variants hint when list empty (#9179)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2026-01-17 20:32:57 -06:00
Aiden Cline
f3513bacff tui: fix model state persistence when model store is not ready 2026-01-17 14:41:42 -06:00
b3nw
3d095e7fe7
fix: centralize OSC 52 clipboard support for SSH sessions (#8974) 2026-01-16 16:57:17 -06:00
Seth Carlton
08b94a6890
fix: keep primary model after subagent runs (#8951) 2026-01-16 16:19:17 -06:00
Ariane Emory
626fa1462b fix: make home/end keys work in menu list modal windows (resolves #7190) (#8347) 2026-01-16 21:57:59 +00:00
Aiden Cline
bd914a8c06 Revert "stop select dialog event propagation"
This reverts commit 46be47d0be.
2026-01-16 09:30:06 -06:00
Akshar Patel
ac54535486
feat: add version to session header and /status dialog (#8802) 2026-01-15 22:58:41 -06:00
Sebastian Herrlinger
46be47d0be stop select dialog event propagation 2026-01-16 03:17:32 +01:00
Kit Langton
4af9defb89
fix(tui): correct theme count tip (#8779) 2026-01-15 19:39:35 -06:00
Kit Langton
12b621068a
fix(tui): dim question option prefixes (#8776) 2026-01-15 19:38:55 -06:00
Kit Langton
07e7ebdb8e
fix(tui): add tab navigation in questions (#8777) 2026-01-15 19:38:11 -06:00
outside.observer
83ed1adcbd
feat: add Carbonfox theme (#8723) 2026-01-15 16:02:29 -06:00
Aaron Iker
fe58c649cb
feat(console): Update /black plan selection, light rays effect. mobile styles (#8731)
Co-authored-by: Github Action <action@github.com>
2026-01-15 21:31:50 +01:00
opencode-agent[bot]
ebc194ca9a
Prettify retry duration display in TUI (#8608)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
2026-01-15 11:50:18 -06:00
Sebastian Herrlinger
bfc9b24b48 use native text truncation for sidebar diff paths 2026-01-15 17:23:48 +01:00
Ariane Emory
08ca1237cc
fix(tui): Center the initially selected session in the session_list (resolves #8558) (#8560) 2026-01-15 01:04:20 -06:00
GitHub Action
253b7ea784 chore: generate 2026-01-15 06:04:47 +00:00
Kit Langton
3a9fd1bb36
fix: restore brand integrity of TUI wordmark (#8584) 2026-01-15 00:04:11 -06:00