Repository navigation
[Bug]: Active threads are not visible in the UI (only settled threads shown) #14260
Description
Activity
Triage
Not a confirmed bug on 0.0.42. The two trace failures do not decide which threads the sidebar renders, and
deleted_at IS NULLis the wrong count for "should be on screen."The live shell snapshot is
deleted_at IS NULL AND archived_at IS NULL(listActiveThreadRowsinProjectionSnapshotQuery.ts). The sidebar then drops anything still archived and, if the header is scoped to one project, anything outside that project. What remains is classified, not filtered:- snoozed, until it wakes
settled_override = 'settled'goes to the bottom shelf- pinned goes to the top
- everything else is Active
A row that is in that snapshot cannot vanish because a provider call failed. One bad row fails the whole snapshot decode, so the client would not be left with a settled-only list. The settled shelf also starts at 10 rows, not 3, so three settled threads means three non-archived settled threads in view, not a truncated tail.
opencode.session.message/Message not foundis prompt-admission recovery for one OpenCode message id. The call isEffect.timeout+Effect.option. The span still recordsFailurewhen OpenCode returns 404, and the thread stays inprojection_threads.generateThreadTitle/Model not foundfordelta/claude-sonnet-4.6is caught inProviderCommandReactorand logged as a warning. The thread is kept; the title is just not rewritten. That is a separate model-catalog mismatch, not a list bug.Archive keeps the row with
deleted_atnull and removes it from the sidebar. Those threads are under Settings > Archived threads. Settle leaves them visible at the bottom.Please paste this, plus whether the sidebar header is scoped to one project:
SELECT CASE WHEN archived_at IS NOT NULL THEN 'archived' WHEN settled_override = 'settled' THEN 'settled' WHEN pinned_at IS NOT NULL THEN 'pinned' WHEN snoozed_until IS NOT NULL THEN 'snoozed' ELSE 'active' END AS bucket, COUNT(*) AS n FROM projection_threads WHERE deleted_at IS NULL GROUP BY 1;
If
active(and unscopedpinned) is 0, the sidebar is showing the database. Ifactiveis greater than 0 and that section is still empty, that is the bug and we can take it from there.- addedneeds more infoInitial triage showed no bug. Awaiting more infoInitial triage showed no bug. Awaiting more infovia-triageFiled through npx t3 triageFiled through npx t3 triage
on Sep 29, 2026

This structure is what
t3 triageagents follow. Keep one problem per issueand redact secrets and home directory paths from anything you paste.
What happened
The user cannot see any active threads in the T3 app. Only 3 settled threads appear at the bottom of the app. All other active or unsettled threads are completely missing from the UI.
Diagnosis
The investigation found that the SQLite database (
~/.t3/userdata/state.sqlite) correctly contains 51 threads without adeleted_atdate, meaning the data still exists. However, they are failing to render or load in the UI.The server trace logs (
~/.t3/userdata/logs/server.trace.ndjson) show several fatal errors during thread state restoration and startup:Error: Message not found: msg_...failing insideopencode.session.message(OpenCodeRuntimeError).TextGenerationError: Text generation failed in generateThreadTitle: Bad Request: {"detail":"Model not found"}when usingdelta/claude-sonnet-4.6.This suggests the app is encountering an error when fetching or re-hydrating these active threads and thus fails to display them.
Steps to reproduce
projection_threadstable contains active threads.Version
0.0.42
Environment
macOS (darwin arm64), opencode delta/gemini-3.1-pro-preview
Evidence
{"type":"effect-span","name":"opencode.session.message","exit":{"_tag":"Failure","cause":"OpenCodeRuntimeError: \n ... [cause]: Error: Message not found: msg_0ed5c1430001oJRit7pE8Y0kSl ... {\"body\":{\"name\":\"NotFoundError\",\"data\":{\"message\":\"Message not found: msg_0ed5c1430001oJRit7pE8Y0kSl\"}},\"status\":404} ... "}} {"type":"effect-span","name":"OpenCodeTextGeneration.generateThreadTitle","exit":{"_tag":"Failure","cause":"TextGenerationError: Text generation failed in generateThreadTitle: Bad Request: {\"detail\":\"Model not found\"} ... [cause]: OpenCodeTextGenerationPromptResponseError: OpenCode prompt APIError failed for generateThreadTitle in <redacted> using delta/claude-sonnet-4.6 ... Bad Request: {\"detail\":\"Model not found\"}"}}Filed by
delta/gemini-3.1-pro-preview via opencode agent