Skip to content

desktop: new sessions stay untitled, auto title not generated #59970

Closed as not planned

Description

@hershey1990

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.desktop 2.2.0)
  • Active plugins: none. Config only has the playwright MCP server plus experimental.todo: true

Reproduction

  1. Open the desktop app and restart it so the background service reloads config.
  2. Start a new session in a non-git directory (e.g. the drive root) and hold a multi-turn conversation.
  3. Check the session name in the sidebar, or run opencode session export <id> and read info.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 title agent exists and is configured (opencode debug agents shows id: "title", hidden, with the "You name conversations..." system prompt), so the feature is present in this build.
  • Manual renaming works: /rename with a value updates the session. /rename with an empty value is the only place session.title.generate(...) is referenced (in the CLI bundle).
  • The desktop bundle (resources/app.asar, 2.2.0) contains zero references to title.generate, so the desktop UI never requests generation; the sidebar only reads the title.pending(...) state.
  • Sessions created with opencode run --session <id> "<prompt>" (no --title) did get generated titles in the same install, e.g. prompt Usa la herramienta todowrite para crear 3 tareas de prueba sobre 'probar el panel de ToDos'... produced the title Pruebas 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.log or the app logs around the affected session's creation; the failure is silent.
  • Workaround: /rename in the session, or rename from the sidebar.

Activity

  1. opencodejr commented on Oct 28, 2026

    @opencodejr
    Contributor

    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.asar has no reference to title.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:

    1. Which provider and model the untitled desktop sessions used (e.g. 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 have small_model or agent.title.model set?
    2. If the untitled sessions use the free opencode provider: 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:

  2. opencodejr commented on Oct 31, 2026

    @opencodejr
    Contributor

    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 point agent.title.model (or small_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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions