Skip to content

session: auto title generation stopped in 2.1.4 - sessions stay untitled, no rename endpoint #58504

Closed as duplicate

Description

@vikash-sahu

Summary

Since updating to opencode v2.1.4, automatic session title generation no longer runs. Sessions are created with an empty title and keep the client-side fallback ("New session - "). Data from my database shows a hard version boundary unaffected by config: ~60 sessions across v1.18.x–v2.0.32 were all auto-titled, and 8 of the 15 sessions created on v2.1.4 (installed today, 2026-10-23) remained untitled. The failure is silent — no error is surfaced and, unlike earlier versions, the log no longer shows any title-agent activity (agent=title stream events stop entirely after the update).

Environment

  • opencode version: 2.1.4 (regression appeared exactly with 2.1.4; body from the previous release, 2.0.32, auto-titled fine)
  • OS: Windows_NT 10.0.26200 (win32 x64)
  • Terminal: Windows terminal host, TERM=xterm-256color
  • Shell: cmd.exe host (commands run via PowerShell)
  • Install/channel: npm-managed install, latest
  • Active plugins: superpowers (git: https://github.com/obra/superpowers.git)

Model context: all sessions run on the built-in free provider models (opencode/*-free, e.g. opencode/glm-5.3-flash-free, opencode/deepseek-v4.1-flash-free). No Console account/credits configured. Under 2.0.32 the title agent streamed with a small free model (log: providerID=opencode modelID=muse-spark-1.3-contributor-free small=true agent=title) and titles appeared correctly.

Reproduction

  1. Update opencode 2.0.32 → 2.1.4 on Windows
  2. Start a new session in the TUI (or opencode run)
  3. Send any message (verified reproducing with successful chats on opencode/deepseek-v4.1-flash-free)
  4. Observe the session list: the session stays "New session - "; in the database (~/.local/share/opencode/opencode.db, table session_v2) title remains empty

Reproduces consistently (4 independent test sessions, TUI and run, including chats that succeeded normally).

Expected Behavior

The background title agent generates a title after the first user message, as in ≤ 2.0.32, and the session gets renamed.

Actual Behavior

No title generation occurs on 2.1.4:

  • session_v2.title stays empty for all successful sessions after the update
  • The server log contains zero title-agent events after the update (previously message=stream ... small=true agent=title lines and occasional "stream error" fallback entries existed for every session)

Version-boundary evidence from my local database (session_v2.grouped by version):

version sessions untitled
1.18.30 – 1.18.35 23 0
2.0.26 2 0
2.0.32 36 4
2.1.4 (installed 2026-10-23 ~14:07) 15 8

(The 2.0.32-era untitled entries are edge cases: failed/aborted sessions; the 8 untitled under 2.1.4 include fully succeeded TUI and opencode run sessions.)

Additional Context

Workarounds attempted per config, none restored auto-titling on 2.1.4:

{
  "small_model": "opencode/glm-5.3-flash-free",
  "agents": {
    "title": { "model": "opencode/glm-5.3-flash-free" }
  }
}

(small_model is documented in the V2 schema as "Small model to use for tasks like title generation". Both keys hot-reload confirmed via config.updated events in the log; new sessions still untitled.)

Possibly related API drift on 2.1.4: the published HTTP API documents POST /api/session/{sessionID}/rename (v2.session.rename), but the running 2.1.4 server returns 404 for that path, and its OpenAPI surface lists PATCH /api/session/{sessionID} (session.update) instead. opencode api patch /api/session/{id} --data '{"title":"..."}' returned InvalidRequestError: Expected a valid JSON body, and no opencode session rename CLI subcommand exists (only list/delete/export/import). So sessions with failed titles currently cannot be renamed from the CLI at all; I had to apply renames through the available runtime bindings.

Possibly related issues: #39532 (titles optional until generated or set), #13710, #29734, #30662 (silent auto-title failures; teammate closed as upgrade-to-2.0, but the regression now reproduces on 2.x).

Happy to provide opencode.log excerpts (redacted) or a heap snapshot if useful.

Activity

  1. opencode-agent commented on Oct 23, 2026

    @opencode-agent
    Contributor

    Thanks for the detailed report and the version data. I think this is a duplicate of #58176.

    That issue has been reproduced on 2.1.x with the free opencode/*-free models. The title request is sent automatically after the first message, but the free tier rejects it with 403 FreeTierError ("OpenCode's free tier can only be used from within OpenCode..."). SessionTitle.attempt then drops the error without logging it. So the session stays untitled, and no title activity appears in the log. Comments there show it on 2.1.2 and 2.1.3 as well, and that setting agents.title.model to a free model doesn't bring titles back. That matches what you saw.

    Possible duplicates and related issues, ordered by likelihood:

    On renaming: a comment on #58176 reports that PATCH /api/session/<id> with a non-empty title works on 2.1.3. The Expected a valid JSON body error is most likely PowerShell stripping the inner quotes from --data. Try escaping them (for example --data '{\"title\":\"My title\"}') or running the command from cmd.exe. In the TUI, /rename with a name also works.

    The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different. Any extra details, like your log excerpts, are welcome on #58176.

  2. vikash-sahu commented on Oct 23, 2026

    @vikash-sahu
    Author

    Closing as a duplicate of #58176, which is the canonical, reproduced issue for exactly this symptom on 2.1.x: the automatic title request is sent but the free-tier gate rejects tool-less requests (403 FreeTierError), and SessionTitle.attempt swallows the failure without logging it. I independently recorded the same version-boundary evidence (v1.18.x-v2.0.32 all auto-titled, 8/15 untitled on v2.1.4, no rename endpoint, silent failure) on 2.1.4 / Windows, so keeping the discussion in #58176. Thanks to the maintainers for the reproduction and instrumentation work there.

  3. opencode-agent commented on Oct 24, 2026

    @opencode-agent
    Contributor

    Closing this as a duplicate of #58176, since there's been no reply in the day since the duplicate notice. That issue covers the same problem: on 2.1.x with free opencode/*-free models, the free tier rejects the title request and the error isn't logged, so sessions stay untitled. It has been reproduced and the cause identified.

    Please follow #58176 for updates. Your version breakdown and log excerpts would be welcome there. If your problem turns out to be different, reply here and we can reopen it. Thanks again for the detailed 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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions