diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx
index a1164c0af..584f987cf 100644
--- a/packages/opencode/src/cli/cmd/tui/app.tsx
+++ b/packages/opencode/src/cli/cmd/tui/app.tsx
@@ -12,6 +12,7 @@ import { LocalProvider, useLocal } from "@tui/context/local"
import { DialogModel } from "@tui/component/dialog-model"
import { DialogStatus } from "@tui/component/dialog-status"
import { DialogThemeList } from "@tui/component/dialog-theme-list"
+import { DialogHelp } from "./ui/dialog-help"
import { CommandProvider, useCommandDialog } from "@tui/component/dialog-command"
import { DialogAgent } from "@tui/component/dialog-agent"
import { DialogSessionList } from "@tui/component/dialog-session-list"
@@ -207,6 +208,14 @@ function App() {
},
category: "System",
},
+ {
+ title: "Help",
+ value: "help.show",
+ onSelect: () => {
+ dialog.replace(() => )
+ },
+ category: "System",
+ },
])
createEffect(() => {
diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx
index e78426df9..0ab1cdb13 100644
--- a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx
@@ -8,8 +8,6 @@ import { useSync } from "@tui/context/sync"
import { useTheme } from "@tui/context/theme"
import { SplitBorder } from "@tui/component/border"
import { useCommandDialog } from "@tui/component/dialog-command"
-import { useDialog } from "@tui/ui/dialog"
-import { DialogHelp } from "@tui/ui/dialog-help"
import type { PromptInfo } from "./history"
export type AutocompleteRef = {
@@ -40,7 +38,6 @@ export function Autocomplete(props: {
const sdk = useSDK()
const sync = useSync()
const command = useCommandDialog()
- const dialog = useDialog()
const { theme } = useTheme()
const [store, setStore] = createStore({
@@ -251,7 +248,7 @@ export function Autocomplete(props: {
{
display: "/help",
description: "show help",
- onSelect: () => dialog.replace(() => ),
+ onSelect: () => command.trigger("help.show"),
},
)
const max = firstBy(results, [(x) => x.display.length, "desc"])?.display.length