Repository navigation
Closed as not planned
Labels
Description
Summary
Sessions created in the OpenCode desktop app sometimes never get an auto-generated title and stay as session in the sidebar, even after dozens of messages. Manual /rename works, so only the automatic path appears broken.
Environment
- opencode version: 2.2.0 (desktop app, Electron 44.9.1)
- OS: Windows 11 (Windows_NT 10.0.26300, arm64)
- Terminal: OpenCode desktop app (no terminal attached; diagnostics run through the bundled CLI,
TERM=xterm-256color) - Shell:
C:\Windows\system32\cmd.exe(commands executed with pwsh 7) - Install/channel: latest, desktop installer (
ai.opencode.desktop2.2.0) - Active plugins: none. Config only has the
playwrightMCP server plusexperimental.todo: true
Reproduction
- Open the desktop app and restart it so the background service reloads config.
- Start a new session in a non-git directory (e.g. the drive root) and hold a multi-turn conversation.
- Check the session name in the sidebar, or run
opencode session export <id>and readinfo.title.
Expected Behavior
The session gets a short generated title (as the built-in title agent prompt describes: 3-5 words, same language as the message), like CLI-created sessions and like V1 sessions in the same install.
Actual Behavior
info.title stays empty and the sidebar shows Untitled session:
{
"id": "ses_e7c7e4565ffeXN73eufSlQKida",
"agent": "build",
"outcome": "succeeded",
"title": ""
}Observed after 82 messages in that session. opencode session list renders it as Untitled session, while older sessions (created before the 2.2.0 upgrade) show proper titles.
Additional Context
- The
titleagent exists and is configured (opencode debug agentsshowsid: "title", hidden, with the "You name conversations..." system prompt), so the feature is present in this build. - Manual renaming works:
/renamewith a value updates the session./renamewith an empty value is the only placesession.title.generate(...)is referenced (in the CLI bundle). - The desktop bundle (
resources/app.asar, 2.2.0) contains zero references totitle.generate, so the desktop UI never requests generation; the sidebar only reads thetitle.pending(...)state. - Sessions created with
opencode run --session <id> "<prompt>"(no--title) did get generated titles in the same install, e.g. promptUsa la herramienta todowrite para crear 3 tareas de prueba sobre 'probar el panel de ToDos'...produced the titlePruebas del panel de ToDos. - Intermittent, not deterministic: some desktop sessions do end up titled, others stay empty.
- No title-related errors or warnings in
~/.local/share/opencode/log/opencode.logor the app logs around the affected session's creation; the failure is silent. - Workaround:
/renamein the session, or rename from the sidebar.
Activity
opencodejr commentedon Oct 28, 2026
Thanks for the detailed report. One correction: the desktop app is not supposed to request titles itself. The server starts title generation after each turn while a session is untitled, so it makes sense that
app.asarhas no reference totitle.generate. A session that is still untitled after 82 messages means every title attempt for it failed. Those failures are currently dropped without logging anything, which fits the clean logs you saw.Could you tell us:
opencode/deepseek-v4.1-flash-free,opencode/big-pickle, or a provider you added). Which model did the CLI sessions that did get a title use? Do you havesmall_modeloragent.title.modelset?opencodeprovider: does setting"agent": { "title": { "model": "<provider>/<model>" } }to a model from another provider make new desktop sessions get titles?You can reply here, or edit the issue. If you edit it, please also leave a comment saying you've updated it, so we know you're done.
Possibly related issues, ordered by likelihood:
opencode/*models, because the title request is rejected withFreeTierErrorand the error is dropped silently. Confirmed on 2.2.0 and in the desktop app. If your sessions use those models, this is most likely the same problem.opencodejr commentedon Oct 31, 2026
We're closing this for now because we haven't heard back. We asked which provider and model the untitled desktop sessions used, compared with the CLI sessions that got titles. Without that we can't tell whether this is the free-tier title rejection tracked in #58176 or something separate.
If your untitled sessions use the free
opencode/*models, please follow #58176. A workaround there is to pointagent.title.model(orsmall_model) at a model from another provider. Otherwise, reply here with the provider/model details or open a new issue, and we'll take another look. Thanks for the thorough report.