oh-my-opencode 2.14.0 → 3.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/README.ja.md +173 -97
  2. package/README.md +247 -109
  3. package/README.zh-cn.md +708 -502
  4. package/bin/oh-my-opencode.js +80 -0
  5. package/bin/platform.js +38 -0
  6. package/bin/platform.test.ts +148 -0
  7. package/dist/agents/metis.d.ts +19 -0
  8. package/dist/agents/momus.d.ts +6 -0
  9. package/dist/agents/momus.test.d.ts +1 -0
  10. package/dist/agents/orchestrator-sisyphus.d.ts +20 -0
  11. package/dist/agents/prometheus-prompt.d.ts +29 -0
  12. package/dist/agents/prometheus-prompt.test.d.ts +1 -0
  13. package/dist/agents/sisyphus-junior.d.ts +8 -0
  14. package/dist/agents/sisyphus-junior.test.d.ts +1 -0
  15. package/dist/agents/types.d.ts +2 -1
  16. package/dist/agents/utils.d.ts +6 -2
  17. package/dist/cli/config-manager.d.ts +9 -1
  18. package/dist/cli/doctor/checks/opencode.d.ts +5 -1
  19. package/dist/cli/index.js +5394 -5052
  20. package/dist/cli/run/events.d.ts +1 -0
  21. package/dist/cli/types.d.ts +3 -0
  22. package/dist/config/schema.d.ts +756 -163
  23. package/dist/features/background-agent/concurrency.d.ts +17 -0
  24. package/dist/features/background-agent/manager.d.ts +53 -2
  25. package/dist/features/background-agent/types.d.ts +34 -1
  26. package/dist/features/boulder-state/constants.d.ts +10 -0
  27. package/dist/features/boulder-state/index.d.ts +3 -0
  28. package/dist/features/boulder-state/storage.d.ts +28 -0
  29. package/dist/features/boulder-state/storage.test.d.ts +1 -0
  30. package/dist/features/boulder-state/types.d.ts +24 -0
  31. package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -1
  32. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -1
  33. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -0
  34. package/dist/features/builtin-commands/types.d.ts +1 -1
  35. package/dist/features/claude-code-session-state/state.d.ts +6 -1
  36. package/dist/features/claude-code-session-state/state.test.d.ts +1 -0
  37. package/dist/features/context-injector/index.d.ts +1 -1
  38. package/dist/features/context-injector/injector.d.ts +1 -1
  39. package/dist/features/hook-message-injector/index.d.ts +2 -2
  40. package/dist/features/hook-message-injector/injector.d.ts +9 -2
  41. package/dist/features/hook-message-injector/types.d.ts +3 -2
  42. package/dist/features/opencode-skill-loader/index.d.ts +1 -0
  43. package/dist/features/opencode-skill-loader/skill-content.d.ts +20 -0
  44. package/dist/features/opencode-skill-loader/skill-content.test.d.ts +1 -0
  45. package/dist/features/skill-mcp-manager/manager.d.ts +11 -0
  46. package/dist/features/task-toast-manager/index.d.ts +2 -0
  47. package/dist/features/task-toast-manager/manager.d.ts +57 -0
  48. package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
  49. package/dist/features/task-toast-manager/types.d.ts +21 -0
  50. package/dist/hooks/agent-usage-reminder/constants.d.ts +1 -1
  51. package/dist/hooks/anthropic-context-window-limit-recovery/executor.d.ts +1 -1
  52. package/dist/hooks/anthropic-context-window-limit-recovery/index.d.ts +1 -2
  53. package/dist/hooks/anthropic-context-window-limit-recovery/types.d.ts +0 -5
  54. package/dist/hooks/auto-update-checker/checker.d.ts +1 -1
  55. package/dist/hooks/auto-update-checker/checker.test.d.ts +1 -0
  56. package/dist/hooks/auto-update-checker/index.d.ts +4 -0
  57. package/dist/hooks/auto-update-checker/index.test.d.ts +1 -0
  58. package/dist/hooks/background-compaction/index.d.ts +19 -0
  59. package/dist/hooks/background-notification/index.d.ts +6 -0
  60. package/dist/hooks/claude-code-hooks/index.d.ts +2 -1
  61. package/dist/hooks/claude-code-hooks/types.d.ts +1 -0
  62. package/dist/hooks/comment-checker/cli.d.ts +0 -1
  63. package/dist/hooks/comment-checker/cli.test.d.ts +1 -0
  64. package/dist/hooks/compaction-context-injector/index.d.ts +7 -1
  65. package/dist/hooks/delegate-task-retry/index.d.ts +24 -0
  66. package/dist/hooks/delegate-task-retry/index.test.d.ts +1 -0
  67. package/dist/hooks/index.d.ts +5 -2
  68. package/dist/hooks/keyword-detector/index.d.ts +2 -1
  69. package/dist/hooks/prometheus-md-only/constants.d.ts +6 -0
  70. package/dist/hooks/prometheus-md-only/index.d.ts +12 -0
  71. package/dist/hooks/prometheus-md-only/index.test.d.ts +1 -0
  72. package/dist/hooks/ralph-loop/index.d.ts +1 -0
  73. package/dist/hooks/ralph-loop/types.d.ts +1 -0
  74. package/dist/hooks/sisyphus-orchestrator/index.d.ts +35 -0
  75. package/dist/hooks/sisyphus-orchestrator/index.test.d.ts +1 -0
  76. package/dist/hooks/start-work/index.d.ts +16 -0
  77. package/dist/hooks/start-work/index.test.d.ts +1 -0
  78. package/dist/hooks/task-resume-info/index.d.ts +11 -0
  79. package/dist/hooks/todo-continuation-enforcer.d.ts +1 -0
  80. package/dist/index.js +28035 -20876
  81. package/dist/mcp/context7.d.ts +1 -0
  82. package/dist/mcp/grep-app.d.ts +1 -0
  83. package/dist/mcp/index.d.ts +5 -2
  84. package/dist/mcp/websearch.d.ts +4 -0
  85. package/dist/plugin-config.test.d.ts +1 -0
  86. package/dist/plugin-handlers/config-handler.d.ts +2 -0
  87. package/dist/plugin-handlers/config-handler.test.d.ts +1 -0
  88. package/dist/shared/agent-tool-restrictions.d.ts +7 -0
  89. package/dist/shared/agent-variant.d.ts +5 -0
  90. package/dist/shared/agent-variant.test.d.ts +1 -0
  91. package/dist/shared/deep-merge.test.d.ts +1 -0
  92. package/dist/shared/external-plugin-detector.d.ts +18 -0
  93. package/dist/shared/external-plugin-detector.test.d.ts +1 -0
  94. package/dist/shared/first-message-variant.d.ts +11 -0
  95. package/dist/shared/first-message-variant.test.d.ts +1 -0
  96. package/dist/shared/index.d.ts +7 -0
  97. package/dist/shared/migration.d.ts +7 -0
  98. package/dist/shared/opencode-version.d.ts +6 -3
  99. package/dist/shared/permission-compat.d.ts +22 -7
  100. package/dist/shared/session-cursor.d.ts +13 -0
  101. package/dist/shared/session-cursor.test.d.ts +1 -0
  102. package/dist/shared/shell-env.d.ts +41 -0
  103. package/dist/shared/shell-env.test.d.ts +1 -0
  104. package/dist/shared/system-directive.d.ts +31 -0
  105. package/dist/shared/zip-extractor.d.ts +1 -0
  106. package/dist/tools/background-task/index.d.ts +1 -1
  107. package/dist/tools/call-omo-agent/constants.d.ts +1 -1
  108. package/dist/tools/delegate-task/constants.d.ts +12 -0
  109. package/dist/tools/delegate-task/index.d.ts +3 -0
  110. package/dist/tools/delegate-task/tools.d.ts +18 -0
  111. package/dist/tools/delegate-task/tools.test.d.ts +1 -0
  112. package/dist/tools/delegate-task/types.d.ts +9 -0
  113. package/dist/tools/glob/cli.d.ts +4 -0
  114. package/dist/tools/glob/cli.test.d.ts +1 -0
  115. package/dist/tools/glob/types.d.ts +1 -0
  116. package/dist/tools/index.d.ts +3 -0
  117. package/dist/tools/interactive-bash/constants.d.ts +1 -1
  118. package/dist/tools/look-at/tools.d.ts +7 -0
  119. package/dist/tools/look-at/tools.test.d.ts +1 -0
  120. package/dist/tools/lsp/client.d.ts +1 -3
  121. package/dist/tools/lsp/config.test.d.ts +1 -0
  122. package/dist/tools/lsp/index.d.ts +1 -1
  123. package/dist/tools/lsp/tools.d.ts +1 -6
  124. package/dist/tools/lsp/types.d.ts +0 -33
  125. package/dist/tools/lsp/utils.d.ts +1 -4
  126. package/dist/tools/skill/tools.d.ts +1 -7
  127. package/dist/tools/skill/types.d.ts +3 -0
  128. package/dist/tools/skill-mcp/types.d.ts +1 -1
  129. package/dist/tools/slashcommand/tools.d.ts +1 -7
  130. package/package.json +22 -14
  131. package/postinstall.mjs +43 -0
  132. package/dist/agents/build-prompt.d.ts +0 -31
  133. package/dist/agents/plan-prompt.d.ts +0 -61
  134. package/dist/auth/antigravity/constants.d.ts +0 -36
  135. package/dist/auth/antigravity/fetch.d.ts +0 -68
  136. package/dist/auth/antigravity/index.d.ts +0 -13
  137. package/dist/auth/antigravity/message-converter.d.ts +0 -54
  138. package/dist/auth/antigravity/oauth.d.ts +0 -85
  139. package/dist/auth/antigravity/plugin.d.ts +0 -54
  140. package/dist/auth/antigravity/project.d.ts +0 -10
  141. package/dist/auth/antigravity/request.d.ts +0 -104
  142. package/dist/auth/antigravity/response.d.ts +0 -137
  143. package/dist/auth/antigravity/thinking.d.ts +0 -234
  144. package/dist/auth/antigravity/thought-signature-store.d.ts +0 -52
  145. package/dist/auth/antigravity/token.d.ts +0 -38
  146. package/dist/auth/antigravity/tools.d.ts +0 -119
  147. package/dist/auth/antigravity/types.d.ts +0 -205
  148. package/dist/cli/ast-grep-napi.linux-x64-gnu-jfv8414z.node +0 -0
  149. package/dist/cli/ast-grep-napi.linux-x64-musl-8cj2e5cf.node +0 -0
  150. package/dist/google-auth.d.ts +0 -3
  151. package/dist/google-auth.js +0 -1865
  152. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-executor.d.ts +0 -3
  153. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-purge-errors.d.ts +0 -7
  154. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-storage.d.ts +0 -2
  155. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-supersede.d.ts +0 -6
  156. package/dist/hooks/comment-checker/constants.d.ts +0 -3
  157. package/dist/hooks/comment-checker/filters/bdd.d.ts +0 -2
  158. package/dist/hooks/comment-checker/filters/directive.d.ts +0 -2
  159. package/dist/hooks/comment-checker/filters/docstring.d.ts +0 -2
  160. package/dist/hooks/comment-checker/filters/index.d.ts +0 -7
  161. package/dist/hooks/comment-checker/filters/shebang.d.ts +0 -2
  162. package/dist/hooks/comment-checker/output/formatter.d.ts +0 -2
  163. package/dist/hooks/comment-checker/output/index.d.ts +0 -2
  164. package/dist/hooks/comment-checker/output/xml-builder.d.ts +0 -2
  165. package/dist/hooks/empty-message-sanitizer/index.d.ts +0 -12
  166. package/dist/hooks/preemptive-compaction/constants.d.ts +0 -3
  167. package/dist/hooks/preemptive-compaction/index.d.ts +0 -24
  168. package/dist/hooks/preemptive-compaction/types.d.ts +0 -17
  169. package/dist/tools/ast-grep/napi.d.ts +0 -13
  170. package/dist/tools/interactive-bash/types.d.ts +0 -3
package/README.md CHANGED
@@ -1,9 +1,12 @@
1
1
  > [!NOTE]
2
2
  >
3
- > *"I aim to spark a software revolution by creating a world where agent-generated code is indistinguishable from human code, yet capable of achieving vastly more. I have poured my personal time, passion, and funds into this journey, and I will continue to do so."*
3
+ > [![Sisyphus Labs Sisyphus is the agent that codes like your team.](./.github/assets/sisyphuslabs.png?v=2)](https://sisyphuslabs.ai)
4
+ > > **We're building a fully productized version of Sisyphus to define the future of frontier agents. <br />Join the waitlist [here](https://sisyphuslabs.ai).**
5
+
6
+ > [!TIP]
4
7
  >
5
- > [![The Orchestrator is coming](./.github/assets/orchestrator-sisyphus.png)](https://x.com/justsisyphus/status/2006250634354548963)
6
- > > **The Orchestrator is coming. This Week. [Get notified on X](https://x.com/justsisyphus/status/2006250634354548963)**
8
+ > [![The Orchestrator is now available in beta.](./.github/assets/orchestrator-sisyphus.png?v=3)](https://github.com/code-yeongyu/oh-my-opencode/releases/tag/v3.0.0-beta.10)
9
+ > > **The Orchestrator is now available in beta. Use `oh-my-opencode@3.0.0-beta.10` to install it.**
7
10
  >
8
11
  > Be with us!
9
12
  >
@@ -25,11 +28,29 @@
25
28
 
26
29
  > This is coding on steroids—`oh-my-opencode` in action. Run background agents, call specialized agents like oracle, librarian, and frontend engineer. Use crafted LSP/AST tools, curated MCPs, and a full Claude Code compatibility layer.
27
30
 
31
+ # Claude OAuth Access Notice
28
32
 
29
- No stupid token consumption massive subagents here. No bloat tools here.
33
+ ## TL;DR
30
34
 
31
- **Certified, Verified, Tested, Actually Useful Harness in Production, after $24,000 worth of tokens spent.**
32
- **START WITH YOUR ChatGPT, Claude, Gemini SUBSCRIPTIONS. WE ALL COVER THEM.**
35
+ > Q. Can I use oh-my-opencode?
36
+
37
+ Yes.
38
+
39
+ > Q. Can I use it with my Claude Code subscription?
40
+
41
+ Yes, technically possible. But I cannot recommend using it.
42
+
43
+ ## FULL
44
+
45
+ > As of January 2026, Anthropic has restricted third-party OAuth access citing ToS violations.
46
+ >
47
+ > [**Anthropic has cited this project, oh-my-opencode as justification for blocking opencode.**](https://x.com/thdxr/status/2010149530486911014)
48
+ >
49
+ > Indeed, some plugins that spoof Claude Code's oauth request signatures exist in the community.
50
+ >
51
+ > These tools may work regardless of technical detectability, but users should be aware of ToS implications, and I personally cannot recommend to use those.
52
+ >
53
+ > This project is not responsible for any issues arising from the use of unofficial tools, and **we do not have any custom implementations of those oauth systems.**
33
54
 
34
55
 
35
56
  <div align="center">
@@ -41,6 +62,7 @@ No stupid token consumption massive subagents here. No bloat tools here.
41
62
  [![GitHub Stars](https://img.shields.io/github/stars/code-yeongyu/oh-my-opencode?color=ffcb47&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/stargazers)
42
63
  [![GitHub Issues](https://img.shields.io/github/issues/code-yeongyu/oh-my-opencode?color=ff80eb&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/issues)
43
64
  [![License](https://img.shields.io/badge/license-SUL--1.0-white?labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/blob/master/LICENSE.md)
65
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/code-yeongyu/oh-my-opencode)
44
66
 
45
67
  [English](README.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md)
46
68
 
@@ -50,12 +72,19 @@ No stupid token consumption massive subagents here. No bloat tools here.
50
72
 
51
73
  ## Reviews
52
74
 
75
+ > "It made me cancel my Cursor subscription. Unbelievable things are happening in the open source community." - [Arthur Guiot](https://x.com/arthur_guiot/status/2008736347092382053?s=20)
76
+
53
77
  > "If Claude Code does in 7 days what a human does in 3 months, Sisyphus does it in 1 hour. It just works until the task is done. It is a discipline agent." — B, Quant Researcher
54
78
 
55
79
  > "Knocked out 8000 eslint warnings with Oh My Opencode, just in a day" — [Jacob Ferrari](https://x.com/jacobferrari_/status/2003258761952289061)
56
80
 
57
81
  > "I converted a 45k line tauri app into a SaaS web app overnight using Ohmyopencode and ralph loop. Started with interview me prompt, asked it for ratings and recommendations on the questions. It was amazing to watch it work and to wake up this morning to a mostly working website!" - [James Hargis](https://x.com/hargabyte/status/2007299688261882202)
58
82
 
83
+ > "use oh-my-opencode, you will never go back" — [d0t3ch](https://x.com/d0t3ch/status/2001685618200580503)
84
+
85
+ > "I haven't really been able to articulate exactly what makes it so great yet, but the development experience has reached a completely different dimension." - [
86
+ 苔硯:こけすずり](https://x.com/kokesuzuri/status/2008532913961529372?s=20)
87
+
59
88
  > "Experimenting with open code, oh my opencode and supermemory this weekend to build some minecraft/souls-like abomination."
60
89
  > "Asking it to add crouch animations while I go take my post-lunch walk. [Video]" - [MagiMetal](https://x.com/MagiMetal/status/2005374704178373023)
61
90
 
@@ -63,42 +92,41 @@ No stupid token consumption massive subagents here. No bloat tools here.
63
92
 
64
93
  > "Hire @yeon_gyu_kim if you can convince him, this dude has revolutionized opencode." — [mysticaltech](https://x.com/mysticaltech/status/2001858758608376079)
65
94
 
66
- > "ok yeah holy shit @androolloyd this thing is legit oh my opencode is sick" — [z80.eth](https://x.com/0xz80/status/2001815226505924791)
67
-
68
- > "use oh-my-opencode, you will never go back" — [d0t3ch](https://x.com/d0t3ch/status/2001685618200580503)
69
-
70
- > "Oh My Opencode is king of the hill and has no contenders" — [RyanOnThePath](https://x.com/RyanOnThePath/status/2001438321252118548)
71
-
72
95
  > "Oh My OpenCode Is Actually Insane" - [YouTube - Darren Builds AI](https://www.youtube.com/watch?v=G_Snfh2M41M)
73
- >
74
- > "Isn't the name Sisyphus beautiful by itself?" — Sigrid ([@sigridjin_eth](https://x.com/sigridjin_eth))
75
96
 
76
97
  ---
77
98
 
78
99
  ## Contents
79
100
 
101
+ - [Claude OAuth Access Notice](#claude-oauth-access-notice)
102
+ - [Reviews](#reviews)
103
+ - [Contents](#contents)
80
104
  - [Oh My OpenCode](#oh-my-opencode)
81
105
  - [Just Skip Reading This Readme](#just-skip-reading-this-readme)
82
106
  - [It's the Age of Agents](#its-the-age-of-agents)
107
+ - [🪄 The Magic Word: `ultrawork`](#-the-magic-word-ultrawork)
83
108
  - [For Those Who Want to Read: Meet Sisyphus](#for-those-who-want-to-read-meet-sisyphus)
84
109
  - [Just Install It.](#just-install-it)
85
110
  - [Installation](#installation)
86
111
  - [For Humans](#for-humans)
87
112
  - [For LLM Agents](#for-llm-agents)
88
- - [Step 0: Ask user about the setup.](#step-0-ask-user-about-the-setup)
89
- - [Step 1: Install OpenCode, if not](#step-1-install-opencode-if-not)
90
- - [Step 2: Configure oh-my-opencode Plugin](#step-2-configure-oh-my-opencode-plugin)
91
- - [JSONC](#jsonc)
92
- - [JSON](#json)
113
+ - [Step 0: Ask user about subscriptions](#step-0-ask-user-about-subscriptions)
114
+ - [Step 1: Install OpenCode (if not installed)](#step-1-install-opencode-if-not-installed)
115
+ - [Step 2: Run the installer](#step-2-run-the-installer)
93
116
  - [Step 3: Verify Setup](#step-3-verify-setup)
94
117
  - [Step 4: Configure Authentication](#step-4-configure-authentication)
95
118
  - [Anthropic (Claude)](#anthropic-claude)
96
119
  - [Google Gemini (Antigravity OAuth)](#google-gemini-antigravity-oauth)
97
- - [OpenAI (ChatGPT Plus/Pro)](#openai-chatgpt-pluspro)
98
120
  - [Model Configuration](#model-configuration)
121
+ - [oh-my-opencode Agent Model Override](#oh-my-opencode-agent-model-override)
122
+ - [GitHub Copilot (Fallback Provider)](#github-copilot-fallback-provider)
123
+ - [Model Mappings](#model-mappings)
124
+ - [Setup](#setup)
99
125
  - [⚠️ Warning](#️-warning)
100
126
  - [Verify the setup](#verify-the-setup)
101
127
  - [Say 'Congratulations! 🎉' to the user](#say-congratulations--to-the-user)
128
+ - [Free advertising](#free-advertising)
129
+ - [Ask for a Star ⭐](#ask-for-a-star-)
102
130
  - [Too Complicated?](#too-complicated)
103
131
  - [Uninstallation](#uninstallation)
104
132
  - [Features](#features)
@@ -106,9 +134,11 @@ No stupid token consumption massive subagents here. No bloat tools here.
106
134
  - [Background Agents: Work Like a Team](#background-agents-work-like-a-team)
107
135
  - [The Tools: Your Teammates Deserve Better](#the-tools-your-teammates-deserve-better)
108
136
  - [Why Are You the Only One Using an IDE?](#why-are-you-the-only-one-using-an-ide)
137
+ - [Session Management](#session-management)
109
138
  - [Context Is All You Need](#context-is-all-you-need)
110
139
  - [Be Multimodal. Save Tokens.](#be-multimodal-save-tokens)
111
140
  - [I Removed Their Blockers](#i-removed-their-blockers)
141
+ - [Skill-Embedded MCP Support](#skill-embedded-mcp-support)
112
142
  - [Goodbye Claude Code. Hello Oh My OpenCode.](#goodbye-claude-code-hello-oh-my-opencode)
113
143
  - [Hooks Integration](#hooks-integration)
114
144
  - [Config Loaders](#config-loaders)
@@ -116,16 +146,24 @@ No stupid token consumption massive subagents here. No bloat tools here.
116
146
  - [Compatibility Toggles](#compatibility-toggles)
117
147
  - [Not Just for the Agents](#not-just-for-the-agents)
118
148
  - [Configuration](#configuration)
149
+ - [JSONC Support](#jsonc-support)
119
150
  - [Google Auth](#google-auth)
120
151
  - [Agents](#agents)
121
152
  - [Permission Options](#permission-options)
153
+ - [Built-in Skills](#built-in-skills)
154
+ - [Git Master](#git-master)
122
155
  - [Sisyphus Agent](#sisyphus-agent)
156
+ - [Background Tasks](#background-tasks)
157
+ - [Categories](#categories)
123
158
  - [Hooks](#hooks)
124
159
  - [MCPs](#mcps)
125
160
  - [LSP](#lsp)
126
161
  - [Experimental](#experimental)
162
+ - [Environment Variables](#environment-variables)
127
163
  - [Author's Note](#authors-note)
128
164
  - [Warnings](#warnings)
165
+ - [Loved by professionals at](#loved-by-professionals-at)
166
+ - [Sponsors](#sponsors)
129
167
 
130
168
  # Oh My OpenCode
131
169
 
@@ -224,12 +262,14 @@ If you don't want all this, as mentioned, you can just pick and choose specific
224
262
  Run the interactive installer:
225
263
 
226
264
  ```bash
227
- bunx oh-my-opencode install
228
- # or use npx if bunx doesn't work
229
265
  npx oh-my-opencode install
266
+ # or with bun
267
+ bunx oh-my-opencode install
230
268
  ```
231
269
 
232
- > **Note for Ubuntu/Debian users**: If you installed Bun via Snap (`/snap/bin/bun`), `bunx` will fail with "script not found" due to Snap's sandboxing. Either use `npx` instead, or reinstall Bun via the official installer: `curl -fsSL https://bun.sh/install | bash`
270
+ > **Note**: The CLI ships with standalone binaries for all major platforms. No runtime (Bun/Node.js) is required for CLI execution after installation.
271
+ >
272
+ > **Supported platforms**: macOS (ARM64, x64), Linux (x64, ARM64, Alpine/musl), Windows (x64)
233
273
 
234
274
  Follow the prompts to configure your Claude, ChatGPT, and Gemini subscriptions. After installation, authenticate your providers as instructed.
235
275
 
@@ -330,7 +370,7 @@ First, add the opencode-antigravity-auth plugin:
330
370
  {
331
371
  "plugin": [
332
372
  "oh-my-opencode",
333
- "opencode-antigravity-auth@1.2.7"
373
+ "opencode-antigravity-auth@1.2.8"
334
374
  ]
335
375
  }
336
376
  ```
@@ -342,15 +382,14 @@ Read the [opencode-antigravity-auth documentation](https://github.com/NoeFabris/
342
382
 
343
383
  ##### oh-my-opencode Agent Model Override
344
384
 
345
- The `opencode-antigravity-auth` plugin uses different model names than the built-in Google auth. Override the agent models in `oh-my-opencode.json` (or `.opencode/oh-my-opencode.json`) and disable the built-in `google_auth`:
385
+ The `opencode-antigravity-auth` plugin uses different model names than the built-in Google auth. Override the agent models in `oh-my-opencode.json` (or `.opencode/oh-my-opencode.json`):
346
386
 
347
387
  ```json
348
388
  {
349
- "google_auth": false,
350
389
  "agents": {
351
- "frontend-ui-ux-engineer": { "model": "google/gemini-3-pro-high" },
352
- "document-writer": { "model": "google/gemini-3-flash" },
353
- "multimodal-looker": { "model": "google/gemini-3-flash" }
390
+ "frontend-ui-ux-engineer": { "model": "google/antigravity-gemini-3-pro-high" },
391
+ "document-writer": { "model": "google/antigravity-gemini-3-flash" },
392
+ "multimodal-looker": { "model": "google/antigravity-gemini-3-flash" }
354
393
  }
355
394
  }
356
395
  ```
@@ -370,37 +409,46 @@ opencode auth login
370
409
 
371
410
  **Multi-Account Load Balancing**: The plugin supports up to 10 Google accounts. When one account hits rate limits, it automatically switches to the next available account.
372
411
 
373
- #### OpenAI (ChatGPT Plus/Pro)
412
+ #### GitHub Copilot (Fallback Provider)
374
413
 
375
- First, add the opencode-openai-codex-auth plugin:
414
+ GitHub Copilot is supported as a **fallback provider** when native providers (Claude, ChatGPT, Gemini) are unavailable. The installer configures Copilot with lower priority than native providers.
376
415
 
377
- ```json
378
- {
379
- "plugin": [
380
- "oh-my-opencode",
381
- "opencode-openai-codex-auth@4.3.0"
382
- ]
383
- }
384
- ```
416
+ **Priority**: Native providers (Claude/ChatGPT/Gemini) > GitHub Copilot > Free models
385
417
 
386
- ##### Model Configuration
418
+ ##### Model Mappings
387
419
 
388
- You'll also need full model settings in `opencode.json`.
389
- Read the [opencode-openai-codex-auth documentation](https://github.com/numman-ali/opencode-openai-codex-auth), copy provider/models config from [`config/opencode-modern.json`](https://github.com/numman-ali/opencode-openai-codex-auth/blob/main/config/opencode-modern.json) (for OpenCode v1.0.210+) or [`config/opencode-legacy.json`](https://github.com/numman-ali/opencode-openai-codex-auth/blob/main/config/opencode-legacy.json) (for older versions), and merge carefully to avoid breaking the user's existing setup.
420
+ When GitHub Copilot is enabled, oh-my-opencode uses these model assignments:
390
421
 
391
- **Available models**: `openai/gpt-5.2`, `openai/gpt-5.2-codex`, `openai/gpt-5.1-codex-max`, `openai/gpt-5.1-codex`, `openai/gpt-5.1-codex-mini`, `openai/gpt-5.1`
422
+ | Agent | Model |
423
+ | ------------- | -------------------------------- |
424
+ | **Sisyphus** | `github-copilot/claude-opus-4.5` |
425
+ | **Oracle** | `github-copilot/gpt-5.2` |
426
+ | **Explore** | `grok code` (default) |
427
+ | **Librarian** | `glm 4.7 free` (default) |
392
428
 
393
- **Variants** (OpenCode v1.0.210+): Use `--variant=<none|low|medium|high|xhigh>` for reasoning effort control.
429
+ GitHub Copilot acts as a proxy provider, routing requests to underlying models based on your subscription.
394
430
 
395
- Then authenticate:
431
+ ##### Setup
432
+
433
+ Run the installer and select "Yes" for GitHub Copilot:
434
+
435
+ ```bash
436
+ bunx oh-my-opencode install
437
+ # Select your subscriptions (Claude, ChatGPT, Gemini)
438
+ # When prompted: "Do you have a GitHub Copilot subscription?" → Select "Yes"
439
+ ```
440
+
441
+ Or use non-interactive mode:
442
+
443
+ ```bash
444
+ bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no --copilot=yes
445
+ ```
446
+
447
+ Then authenticate with GitHub:
396
448
 
397
449
  ```bash
398
450
  opencode auth login
399
- # Interactive Terminal: Provider: Select OpenAI
400
- # Interactive Terminal: Login method: Select ChatGPT Plus/Pro (Codex Subscription)
401
- # Interactive Terminal: Guide user through OAuth flow in browser
402
- # Wait for completion
403
- # Verify success and confirm with user
451
+ # Select: GitHub Authenticate via OAuth
404
452
  ```
405
453
 
406
454
 
@@ -408,7 +456,7 @@ opencode auth login
408
456
 
409
457
  **Unless the user explicitly requests it, do not change model settings or disable features (agents, hooks, MCPs).**
410
458
 
411
- The plugin works perfectly by default. Except for the recommended `google_auth: true` setting, do not change other settings or turn off features without an explicit request.
459
+ The plugin works perfectly by default. Do not change settings or turn off features without an explicit request.
412
460
 
413
461
  ### Verify the setup
414
462
 
@@ -486,9 +534,9 @@ To remove oh-my-opencode:
486
534
 
487
535
  - **Sisyphus** (`anthropic/claude-opus-4-5`): **The default agent.** A powerful AI orchestrator for OpenCode. Plans, delegates, and executes complex tasks using specialized subagents with aggressive parallel execution. Emphasizes background task delegation and todo-driven workflow. Uses Claude Opus 4.5 with extended thinking (32k budget) for maximum reasoning capability.
488
536
  - **oracle** (`openai/gpt-5.2`): Architecture, code review, strategy. Uses GPT-5.2 for its stellar logical reasoning and deep analysis. Inspired by AmpCode.
489
- - **librarian** (`anthropic/claude-sonnet-4-5` or `google/gemini-3-flash`): Multi-repo analysis, doc lookup, implementation examples. Uses Gemini 3 Flash when Antigravity auth is configured, otherwise Claude Sonnet 4.5 for deep codebase understanding and GitHub research with evidence-based answers. Inspired by AmpCode.
537
+ - **librarian** (`opencode/glm-4.7-free`): Multi-repo analysis, doc lookup, implementation examples. Uses GLM-4.7 Free for deep codebase understanding and GitHub research with evidence-based answers. Inspired by AmpCode.
490
538
  - **explore** (`opencode/grok-code`, `google/gemini-3-flash`, or `anthropic/claude-haiku-4-5`): Fast codebase exploration and pattern matching. Uses Gemini 3 Flash when Antigravity auth is configured, Haiku when Claude max20 is available, otherwise Grok. Inspired by Claude Code.
491
- - **frontend-ui-ux-engineer** (`google/gemini-3-pro-high`): A designer turned developer. Builds gorgeous UIs. Gemini excels at creative, beautiful UI code.
539
+ - **frontend-ui-ux-engineer** (`google/gemini-3-pro-preview`): A designer turned developer. Builds gorgeous UIs. Gemini excels at creative, beautiful UI code.
492
540
  - **document-writer** (`google/gemini-3-flash`): Technical writing expert. Gemini is a wordsmith—writes prose that flows.
493
541
  - **multimodal-looker** (`google/gemini-3-flash`): Visual content specialist. Analyzes PDFs, images, diagrams to extract information.
494
542
 
@@ -530,20 +578,13 @@ Syntax highlighting, autocomplete, refactoring, navigation, analysis—and now a
530
578
  The features in your editor? Other agents can't touch them.
531
579
  Hand your best tools to your best colleagues. Now they can properly refactor, navigate, and analyze.
532
580
 
533
- - **lsp_hover**: Type info, docs, signatures at position
534
- - **lsp_goto_definition**: Jump to symbol definition
535
- - **lsp_find_references**: Find all usages across workspace
536
- - **lsp_document_symbols**: Get file symbol outline
537
- - **lsp_workspace_symbols**: Search symbols by name across project
538
581
  - **lsp_diagnostics**: Get errors/warnings before build
539
- - **lsp_servers**: List available LSP servers
540
582
  - **lsp_prepare_rename**: Validate rename operation
541
583
  - **lsp_rename**: Rename symbol across workspace
542
- - **lsp_code_actions**: Get available quick fixes/refactorings
543
- - **lsp_code_action_resolve**: Apply code action
544
584
  - **ast_grep_search**: AST-aware code pattern search (25 languages)
545
585
  - **ast_grep_replace**: AST-aware code replacement
546
586
  - **call_omo_agent**: Spawn specialized explore/librarian agents. Supports `run_in_background` parameter for async execution.
587
+ - **delegate_task**: Category-based task delegation with specialized agents. Supports pre-configured categories (visual, business-logic) or direct agent targeting. Use `background_output` to retrieve results and `background_cancel` to cancel tasks. See [Categories](#categories).
547
588
 
548
589
  #### Session Management
549
590
 
@@ -689,7 +730,8 @@ Disable specific Claude Code compatibility features with the `claude_code` confi
689
730
  "commands": false,
690
731
  "skills": false,
691
732
  "agents": false,
692
- "hooks": false
733
+ "hooks": false,
734
+ "plugins": false
693
735
  }
694
736
  }
695
737
  ```
@@ -701,9 +743,25 @@ Disable specific Claude Code compatibility features with the `claude_code` confi
701
743
  | `skills` | `~/.claude/skills/*/SKILL.md`, `./.claude/skills/*/SKILL.md` | - |
702
744
  | `agents` | `~/.claude/agents/*.md`, `./.claude/agents/*.md` | Built-in agents (oracle, librarian, etc.) |
703
745
  | `hooks` | `~/.claude/settings.json`, `./.claude/settings.json`, `./.claude/settings.local.json` | - |
746
+ | `plugins` | `~/.claude/plugins/` (Claude Code marketplace plugins) | - |
704
747
 
705
748
  All toggles default to `true` (enabled). Omit the `claude_code` object for full Claude Code compatibility.
706
749
 
750
+ **Selectively disable specific plugins** using `plugins_override`:
751
+
752
+ ```json
753
+ {
754
+ "claude_code": {
755
+ "plugins_override": {
756
+ "claude-mem@thedotmack": false,
757
+ "some-other-plugin@marketplace": false
758
+ }
759
+ }
760
+ }
761
+ ```
762
+
763
+ This allows you to keep the plugin system enabled while disabling specific plugins by their full identifier (`plugin-name@marketplace-name`).
764
+
707
765
  ### Not Just for the Agents
708
766
 
709
767
  When agents thrive, you thrive. But I want to help you directly too.
@@ -746,10 +804,10 @@ Config file locations (priority order):
746
804
  1. `.opencode/oh-my-opencode.json` (project)
747
805
  2. User config (platform-specific):
748
806
 
749
- | Platform | User Config Path |
750
- |----------|------------------|
751
- | **Windows** | `~/.config/opencode/oh-my-opencode.json` (preferred) or `%APPDATA%\opencode\oh-my-opencode.json` (fallback) |
752
- | **macOS/Linux** | `~/.config/opencode/oh-my-opencode.json` |
807
+ | Platform | User Config Path |
808
+ | --------------- | ----------------------------------------------------------------------------------------------------------- |
809
+ | **Windows** | `~/.config/opencode/oh-my-opencode.json` (preferred) or `%APPDATA%\opencode\oh-my-opencode.json` (fallback) |
810
+ | **macOS/Linux** | `~/.config/opencode/oh-my-opencode.json` |
753
811
 
754
812
  Schema autocomplete supported:
755
813
 
@@ -773,10 +831,7 @@ When both `oh-my-opencode.jsonc` and `oh-my-opencode.json` files exist, `.jsonc`
773
831
  ```jsonc
774
832
  {
775
833
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
776
-
777
- // Enable Google Gemini via Antigravity OAuth
778
- "google_auth": false,
779
-
834
+
780
835
  /* Agent overrides - customize models for specific tasks */
781
836
  "agents": {
782
837
  "oracle": {
@@ -791,28 +846,7 @@ When both `oh-my-opencode.jsonc` and `oh-my-opencode.json` files exist, `.jsonc`
791
846
 
792
847
  ### Google Auth
793
848
 
794
- **Recommended**: Use the external [`opencode-antigravity-auth`](https://github.com/NoeFabris/opencode-antigravity-auth) plugin. It provides multi-account load balancing, more models (including Claude via Antigravity), and active maintenance. See [Installation > Google Gemini](#google-gemini-antigravity-oauth).
795
-
796
- When using `opencode-antigravity-auth`, disable the built-in auth and override agent models in `oh-my-opencode.json`:
797
-
798
- ```json
799
- {
800
- "google_auth": false,
801
- "agents": {
802
- "frontend-ui-ux-engineer": { "model": "google/gemini-3-pro-high" },
803
- "document-writer": { "model": "google/gemini-3-flash" },
804
- "multimodal-looker": { "model": "google/gemini-3-flash" }
805
- }
806
- }
807
- ```
808
-
809
- **Alternative**: Enable built-in Antigravity OAuth (single account, Gemini models only):
810
-
811
- ```json
812
- {
813
- "google_auth": true
814
- }
815
- ```
849
+ **Recommended**: For Google Gemini authentication, install the [`opencode-antigravity-auth`](https://github.com/NoeFabris/opencode-antigravity-auth) plugin. It provides multi-account load balancing, more models (including Claude via Antigravity), and active maintenance. See [Installation > Google Gemini](#google-gemini-antigravity-oauth).
816
850
 
817
851
  ### Agents
818
852
 
@@ -889,6 +923,7 @@ Available agents: `oracle`, `librarian`, `explore`, `frontend-ui-ux-engineer`, `
889
923
  Oh My OpenCode includes built-in skills that provide additional capabilities:
890
924
 
891
925
  - **playwright**: Browser automation with Playwright MCP. Use for web scraping, testing, screenshots, and browser interactions.
926
+ - **git-master**: Git expert for atomic commits, rebase/squash, and history search (blame, bisect, log -S). STRONGLY RECOMMENDED: Use with `delegate_task(category='quick', skills=['git-master'], ...)` to save context.
892
927
 
893
928
  Disable built-in skills via `disabled_skills` in `~/.config/opencode/oh-my-opencode.json` or `.opencode/oh-my-opencode.json`:
894
929
 
@@ -898,7 +933,25 @@ Disable built-in skills via `disabled_skills` in `~/.config/opencode/oh-my-openc
898
933
  }
899
934
  ```
900
935
 
901
- Available built-in skills: `playwright`
936
+ Available built-in skills: `playwright`, `git-master`
937
+
938
+ ### Git Master
939
+
940
+ Configure git-master skill behavior:
941
+
942
+ ```json
943
+ {
944
+ "git_master": {
945
+ "commit_footer": true,
946
+ "include_co_authored_by": true
947
+ }
948
+ }
949
+ ```
950
+
951
+ | Option | Default | Description |
952
+ | ------------------------ | ------- | -------------------------------------------------------------------------------- |
953
+ | `commit_footer` | `true` | Adds "Ultraworked with Sisyphus" footer to commit messages. |
954
+ | `include_co_authored_by` | `true` | Adds `Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>` trailer to commits. |
902
955
 
903
956
  ### Sisyphus Agent
904
957
 
@@ -906,7 +959,8 @@ When enabled (default), Sisyphus provides a powerful orchestrator with optional
906
959
 
907
960
  - **Sisyphus**: Primary orchestrator agent (Claude Opus 4.5)
908
961
  - **OpenCode-Builder**: OpenCode's default build agent, renamed due to SDK limitations (disabled by default)
909
- - **Planner-Sisyphus**: OpenCode's default plan agent, renamed due to SDK limitations (enabled by default)
962
+ - **Prometheus (Planner)**: OpenCode's default plan agent with work-planner methodology (enabled by default)
963
+ - **Metis (Plan Consultant)**: Pre-planning analysis agent that identifies hidden requirements and AI failure points
910
964
 
911
965
  **Configuration Options:**
912
966
 
@@ -955,19 +1009,100 @@ You can also customize Sisyphus agents like other agents:
955
1009
  "OpenCode-Builder": {
956
1010
  "model": "anthropic/claude-opus-4"
957
1011
  },
958
- "Planner-Sisyphus": {
1012
+ "Prometheus (Planner)": {
959
1013
  "model": "openai/gpt-5.2"
1014
+ },
1015
+ "Metis (Plan Consultant)": {
1016
+ "model": "anthropic/claude-sonnet-4-5"
960
1017
  }
961
1018
  }
962
1019
  }
963
1020
  ```
964
1021
 
965
- | Option | Default | Description |
966
- | --------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
967
- | `disabled` | `false` | When `true`, disables all Sisyphus orchestration and restores original build/plan as primary. |
968
- | `default_builder_enabled` | `false` | When `true`, enables OpenCode-Builder agent (same as OpenCode build, renamed due to SDK limitations). Disabled by default. |
969
- | `planner_enabled` | `true` | When `true`, enables Planner-Sisyphus agent (same as OpenCode plan, renamed due to SDK limitations). Enabled by default. |
970
- | `replace_plan` | `true` | When `true`, demotes default plan agent to subagent mode. Set to `false` to keep both Planner-Sisyphus and default plan available. |
1022
+ | Option | Default | Description |
1023
+ | ------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
1024
+ | `disabled` | `false` | When `true`, disables all Sisyphus orchestration and restores original build/plan as primary. |
1025
+ | `default_builder_enabled` | `false` | When `true`, enables OpenCode-Builder agent (same as OpenCode build, renamed due to SDK limitations). Disabled by default. |
1026
+ | `planner_enabled` | `true` | When `true`, enables Prometheus (Planner) agent with work-planner methodology. Enabled by default. |
1027
+ | `replace_plan` | `true` | When `true`, demotes default plan agent to subagent mode. Set to `false` to keep both Prometheus (Planner) and default plan available. |
1028
+
1029
+ ### Background Tasks
1030
+
1031
+ Configure concurrency limits for background agent tasks. This controls how many parallel background agents can run simultaneously.
1032
+
1033
+ ```json
1034
+ {
1035
+ "background_task": {
1036
+ "defaultConcurrency": 5,
1037
+ "providerConcurrency": {
1038
+ "anthropic": 3,
1039
+ "openai": 5,
1040
+ "google": 10
1041
+ },
1042
+ "modelConcurrency": {
1043
+ "anthropic/claude-opus-4-5": 2,
1044
+ "google/gemini-3-flash": 10
1045
+ }
1046
+ }
1047
+ }
1048
+ ```
1049
+
1050
+ | Option | Default | Description |
1051
+ | --------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------- |
1052
+ | `defaultConcurrency` | - | Default maximum concurrent background tasks for all providers/models |
1053
+ | `providerConcurrency` | - | Per-provider concurrency limits. Keys are provider names (e.g., `anthropic`, `openai`, `google`) |
1054
+ | `modelConcurrency` | - | Per-model concurrency limits. Keys are full model names (e.g., `anthropic/claude-opus-4-5`). Overrides provider limits. |
1055
+
1056
+ **Priority Order**: `modelConcurrency` > `providerConcurrency` > `defaultConcurrency`
1057
+
1058
+ **Use Cases**:
1059
+ - Limit expensive models (e.g., Opus) to prevent cost spikes
1060
+ - Allow more concurrent tasks for fast/cheap models (e.g., Gemini Flash)
1061
+ - Respect provider rate limits by setting provider-level caps
1062
+
1063
+ ### Categories
1064
+
1065
+ Categories enable domain-specific task delegation via the `delegate_task` tool. Each category applies runtime presets (model, temperature, prompt additions) when calling the `Sisyphus-Junior` agent.
1066
+
1067
+ **Default Categories:**
1068
+
1069
+ | Category | Model | Description |
1070
+ | ---------------- | ----------------------------- | ---------------------------------------------------------------------------- |
1071
+ | `visual` | `google/gemini-3-pro-preview` | Frontend, UI/UX, design-focused tasks. High creativity (temp 0.7). |
1072
+ | `business-logic` | `openai/gpt-5.2` | Backend logic, architecture, strategic reasoning. Low creativity (temp 0.1). |
1073
+
1074
+ **Usage:**
1075
+
1076
+ ```
1077
+ // Via delegate_task tool
1078
+ delegate_task(category="visual", prompt="Create a responsive dashboard component")
1079
+ delegate_task(category="business-logic", prompt="Design the payment processing flow")
1080
+
1081
+ // Or target a specific agent directly
1082
+ delegate_task(agent="oracle", prompt="Review this architecture")
1083
+ ```
1084
+
1085
+ **Custom Categories:**
1086
+
1087
+ Add custom categories in `oh-my-opencode.json`:
1088
+
1089
+ ```json
1090
+ {
1091
+ "categories": {
1092
+ "data-science": {
1093
+ "model": "anthropic/claude-sonnet-4-5",
1094
+ "temperature": 0.2,
1095
+ "prompt_append": "Focus on data analysis, ML pipelines, and statistical methods."
1096
+ },
1097
+ "visual": {
1098
+ "model": "google/gemini-3-pro-preview",
1099
+ "prompt_append": "Use shadcn/ui components and Tailwind CSS."
1100
+ }
1101
+ }
1102
+ }
1103
+ ```
1104
+
1105
+ Each category supports: `model`, `temperature`, `top_p`, `maxTokens`, `thinking`, `reasoningEffort`, `textVerbosity`, `tools`, `prompt_append`.
971
1106
 
972
1107
  ### Hooks
973
1108
 
@@ -979,7 +1114,7 @@ Disable specific built-in hooks via `disabled_hooks` in `~/.config/opencode/oh-m
979
1114
  }
980
1115
  ```
981
1116
 
982
- Available hooks: `todo-continuation-enforcer`, `context-window-monitor`, `session-recovery`, `session-notification`, `comment-checker`, `grep-output-truncator`, `tool-output-truncator`, `directory-agents-injector`, `directory-readme-injector`, `empty-task-response-detector`, `think-mode`, `anthropic-context-window-limit-recovery`, `rules-injector`, `background-notification`, `auto-update-checker`, `startup-toast`, `keyword-detector`, `agent-usage-reminder`, `non-interactive-env`, `interactive-bash-session`, `empty-message-sanitizer`, `compaction-context-injector`, `thinking-block-validator`, `claude-code-hooks`, `ralph-loop`, `preemptive-compaction`
1117
+ Available hooks: `todo-continuation-enforcer`, `context-window-monitor`, `session-recovery`, `session-notification`, `comment-checker`, `grep-output-truncator`, `tool-output-truncator`, `directory-agents-injector`, `directory-readme-injector`, `empty-task-response-detector`, `think-mode`, `anthropic-context-window-limit-recovery`, `rules-injector`, `background-notification`, `auto-update-checker`, `startup-toast`, `keyword-detector`, `agent-usage-reminder`, `non-interactive-env`, `interactive-bash-session`, `compaction-context-injector`, `thinking-block-validator`, `claude-code-hooks`, `ralph-loop`, `preemptive-compaction`
983
1118
 
984
1119
  **Note on `auto-update-checker` and `startup-toast`**: The `startup-toast` hook is a sub-feature of `auto-update-checker`. To disable only the startup toast notification while keeping update checking enabled, add `"startup-toast"` to `disabled_hooks`. To disable all update checking features (including the toast), add `"auto-update-checker"` to `disabled_hooks`.
985
1120
 
@@ -1031,7 +1166,6 @@ Opt-in experimental features that may change or be removed in future versions. U
1031
1166
  ```json
1032
1167
  {
1033
1168
  "experimental": {
1034
- "preemptive_compaction_threshold": 0.85,
1035
1169
  "truncate_all_tool_outputs": true,
1036
1170
  "aggressive_truncation": true,
1037
1171
  "auto_resume": true
@@ -1039,16 +1173,20 @@ Opt-in experimental features that may change or be removed in future versions. U
1039
1173
  }
1040
1174
  ```
1041
1175
 
1042
- | Option | Default | Description |
1043
- | --------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1044
- | `preemptive_compaction_threshold` | `0.85` | Threshold percentage (0.5-0.95) to trigger preemptive compaction. The `preemptive-compaction` hook is enabled by default; this option customizes the threshold. |
1045
- | `truncate_all_tool_outputs` | `false` | Truncates ALL tool outputs instead of just whitelisted tools (Grep, Glob, LSP, AST-grep). Tool output truncator is enabled by default - disable via `disabled_hooks`. |
1176
+ | Option | Default | Description |
1177
+ | --------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1178
+ | `truncate_all_tool_outputs` | `false` | Truncates ALL tool outputs instead of just whitelisted tools (Grep, Glob, LSP, AST-grep). Tool output truncator is enabled by default - disable via `disabled_hooks`. |
1046
1179
  | `aggressive_truncation` | `false` | When token limit is exceeded, aggressively truncates tool outputs to fit within limits. More aggressive than the default truncation behavior. Falls back to summarize/revert if insufficient. |
1047
- | `auto_resume` | `false` | Automatically resumes session after successful recovery from thinking block errors or thinking disabled violations. Extracts the last user message and continues. |
1048
- | `dcp_for_compaction` | `false` | Enable DCP (Dynamic Context Pruning) for compaction - runs first when token limit exceeded. Prunes duplicate tool calls and old tool outputs before running compaction. |
1180
+ | `auto_resume` | `false` | Automatically resumes session after successful recovery from thinking block errors or thinking disabled violations. Extracts the last user message and continues. |
1049
1181
 
1050
1182
  **Warning**: These features are experimental and may cause unexpected behavior. Enable only if you understand the implications.
1051
1183
 
1184
+ ### Environment Variables
1185
+
1186
+ | Variable | Description |
1187
+ | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
1188
+ | `OPENCODE_CONFIG_DIR` | Override the OpenCode configuration directory. Useful for profile isolation with tools like [OCX](https://github.com/kdcokenny/ocx) ghost mode. |
1189
+
1052
1190
 
1053
1191
  ## Author's Note
1054
1192