diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index c889817be2a7..1fe7e3b0eb91 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -126,6 +126,7 @@ const appBindingCommands = [ "app.toggle.diffwrap", "app.toggle.paste_summary", "app.toggle.session_directory_filter", + "session.toggle.thinking", ] as const export function tuiRendererConfig(_config: TuiConfig.Resolved): CliRendererConfig { @@ -929,6 +930,16 @@ function App(props: { onSnapshot?: () => Promise }) { dialog.clear() }, }, + { + name: "session.toggle.thinking", + title: kv.get("thinking_mode", "hide") === "show" ? "Collapse thinking" : "Expand thinking", + category: "System", + run: () => { + const current = kv.get("thinking_mode", "hide") + kv.set("thinking_mode", current === "show" ? "hide" : "show") + dialog.clear() + }, + }, ].map((command) => ({ namespace: "palette", ...command, diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 4c5b4eef940e..d6428ba0ecfb 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -82,7 +82,7 @@ import * as Model from "../../util/model" import { formatTranscript } from "../../util/transcript" import { UI } from "@/cli/ui.ts" import { useTuiConfig } from "../../context/tui-config" -import { nextThinkingMode, reasoningSummary, useThinkingMode, type ThinkingMode } from "../../context/thinking" +import { reasoningSummary, useThinkingMode, type ThinkingMode } from "../../context/thinking" import { getScrollAcceleration } from "../../util/scroll" import { collapseToolOutput } from "../../util/collapse-tool-output" import { TuiPluginRuntime } from "@/cli/cmd/tui/plugin/runtime" @@ -130,7 +130,6 @@ const sessionBindingCommands = [ "session.sidebar.toggle", "session.toggle.conceal", "session.toggle.timestamps", - "session.toggle.thinking", "session.toggle.actions", "session.toggle.scrollbar", "session.toggle.generic_tool_output", @@ -692,23 +691,6 @@ export function Session() { dialog.clear() }, }, - { - title: (() => { - const next = nextThinkingMode(thinkingMode()) - if (next === "hide") return "Collapse thinking" - return "Expand thinking" - })(), - value: "session.toggle.thinking", - category: "Session", - slash: { - name: "thinking", - aliases: ["toggle-thinking"], - }, - run: () => { - thinking.set(nextThinkingMode(thinkingMode())) - dialog.clear() - }, - }, { title: showDetails() ? "Hide tool details" : "Show tool details", value: "session.toggle.actions", @@ -1561,15 +1543,17 @@ function ReasoningPart(props: { last: boolean; part: ReasoningPart; message: Ass return ( - - - + + + + +