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 42c0b59d29c..796a27a8331 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -84,6 +84,7 @@ import { UI } from "@/cli/ui.ts" import { useTuiConfig } from "../../context/tui-config" import { formatMarkdownTables } from "../../util/markdown" // kilocode_change +import { bell } from "@/kilocode/bell" // kilocode_change addDefaultParsers(parsers.parsers) @@ -149,6 +150,17 @@ export function Session() { return messages().findLast((x) => x.role === "assistant") }) + // kilocode_change start - ring terminal bell on task completion + createEffect( + on( + () => sync.data.session_status?.[route.sessionID]?.type, + (type, prev) => { + if (prev && prev !== "idle" && type === "idle") bell() + }, + ), + ) + // kilocode_change end + const dimensions = useTerminalDimensions() const [sidebar, setSidebar] = kv.signal<"auto" | "hide">("sidebar", "auto") const [sidebarOpen, setSidebarOpen] = createSignal(false)