diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index 703da1b59d..a26b8cfdfe 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -301,6 +301,9 @@ function App(props: { onSnapshot?: () => Promise }) { renderer.clearSelection() } const [terminalTitleEnabled, setTerminalTitleEnabled] = createSignal(kv.get("terminal_title_enabled", true)) + const [pasteSummaryEnabled, setPasteSummaryEnabled] = createSignal( + kv.get("paste_summary_enabled", !sync.data.config.experimental?.disable_paste_summary), + ) // Update terminal window title based on current route and session createEffect(() => { @@ -736,6 +739,19 @@ function App(props: { onSnapshot?: () => Promise }) { dialog.clear() }, }, + { + title: pasteSummaryEnabled() ? "Disable paste summary" : "Enable paste summary", + value: "app.toggle.paste_summary", + category: "System", + onSelect: (dialog) => { + setPasteSummaryEnabled((prev) => { + const next = !prev + kv.set("paste_summary_enabled", next) + return next + }) + dialog.clear() + }, + }, { title: kv.get("session_directory_filter_enabled", true) ? "Disable session directory filtering" diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx index 7fead6fdbc..641edd30a3 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx @@ -1209,7 +1209,7 @@ export function Prompt(props: PromptProps) { const lineCount = (pastedContent.match(/\n/g)?.length ?? 0) + 1 if ( (lineCount >= 3 || pastedContent.length > 150) && - !sync.data.config.experimental?.disable_paste_summary + kv.get("paste_summary_enabled", !sync.data.config.experimental?.disable_paste_summary) ) { pasteText(pastedContent, `[Pasted ~${lineCount} lines]`) return