Skip to content

[Bug]: t3 always passes a title at OpenCode session.create, which suppresses OpenCode's own title generation #13247

Description

@imluckii

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/server

Steps to reproduce

  1. Use the OpenCode provider (opencode 1.18.32).
  2. Create a thread in t3 and send a message.
  3. Open the native OpenCode TUI and check the session's title.

Expected behavior

OpenCode generates its own session title after the first prompt (SessionPrompt.ensureTitle), so the session should end up with a readable generated title, like it does when the session is created from the native OpenCode UI.

Actual behavior

OpenCode never generates a title for t3-created sessions. ensureTitle bails out unless the session title still matches the default New session - <timestamp> pattern (packages/opencode/src/session/prompt.ts, if (!Session.isDefaultTitle(input.session.title)) return). But t3 always passes its thread title at session.create (input.title in OpenCodeAdapter), so the session is never default-titled and the title generator is skipped. Confirmed in opencode logs: sessions created by t3 log no agent=title run, while native untitled sessions do.

The session title therefore stays whatever t3 sent (the prompt-seed title), and the generated-title session.updated event t3's mirror listens for never fires. Renaming the thread in t3 doesn't help, since t3 also never updates the session title after creation.

Possible fix direction: don't send a title at session.create (or send it only after the user manually renames the thread), letting OpenCode's own title generation run and flow back through the existing mirror.

Impact

Minor bug or occasional failure

Version or commit

main @ f5ef0dd (tested on t3@0.0.43-nightly.20260922.2110)

Environment

Linux (headless VPS), OpenCode 1.18.32 driven through the t3 SDK. Also seen with the Cursor provider (session title in the Cursor CLI never reflects the thread title), untested with Claude Code / Antigravity.

Activity

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

    acceptedfeature request acceptedbugSomething is broken or behaving incorrectly.via-triageFiled through npx t3 triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions