Repository navigation
Description
Describe the bug
The /sessions search bar does not filter sessions when typing in v1.17.0. The exact same installation works correctly after downgrading to v1.16.0.
Environment
- OS: macOS (darwin)
- Opencode version: 1.17.0 (broken) vs 1.16.0 (working)
- Installation:
/opt/homebrew/bin/opencode - Database size: 2.1 GB, 3,242 sessions
- Plugins tested: Reproduced with all plugins disabled (removed
tui.json)
Steps to reproduce
- Run
opencode(v1.17.0) - Navigate to
/sessions - Type in the search bar
- Observe: session list does not filter
Downgrading to v1.16.0 and repeating the same steps works correctly.
Investigation performed
I performed a deep source code comparison between v1.16.0 and v1.17.0 and found:
✅ Search logic is identical in both versions
-
dialog-session-list.tsx: Same pattern in both —createDebouncedSignal("", 150)→createResource→sdk.client.session.list({ search: input.query, limit: 30, ...input.filter }). Only difference is file path restructuring (packages/opencode/src/cli/cmd/tui/component/→packages/tui/src/component/). -
dialog-select.tsx: v1.17.0 added anif (props.locked) returnguard inonInput, butlockedis not passed byDialogSessionList. Input component,batch,setStore("filter", e), andprops.onFilter?.(e)are unchanged. -
Server-side
session.ts:listByProject()uses identicallike(SessionTable.title, \%${input.search}%`)` query in both versions. HTTP handler unchanged. -
sync.tsx:sessionListQuery()andlistSessions()are identical in both versions. -
PR feat(app): sessions list improvements #30941 (
feat(app): sessions list improvements): Only changedpackages/app/src/pages/home.tsx(desktop/web app) — did NOT touch TUI code.
✅ Database is fine
Direct SQL query with opencode db "SELECT ... WHERE title LIKE '%test%'" returns correct results. The SQLite backend works correctly.
✅ OOMS plugin is not the cause
Reproduced after removing tui.json entirely. OOMS has no TUI component interception — it only manages config badges.
🔍 Most likely cause
Since the source logic is identical but behavior differs, this points to a runtime regression in the TUI framework (@opentui/solid, @opentui/core, or @opentui/keymap — all referenced via catalog: in lockfile). The framework update bundled with v1.17.0 appears to break input reactivity — onInput events may not be firing, or the debounced signal / createResource chain may not be triggering refetches.
Workaround
Downgrade to v1.16.0:
# Replace with your 1.16.0 binary location
# e.g., brew reinstall opencode@1.16.0Expected behavior
Typing in the /sessions search bar should filter the session list in real-time (debounced), as it does in v1.16.0.
Activity
github-actions commentedon Jun 10, 2026
This issue might be a duplicate of existing issues. Please check: