Skip to content

[FEATURE]: add option to skip session title generation #33140

Closed as not planned
Closed as not planned

Description

@sergDash

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

Problem

When using local models, generation is often slow. OpenCode currently makes an extra LLM call to generate a session title automatically. This adds unnecessary wait time, and in many cases, the generated title isn't even useful. For local setups, saving that extra generation time is much more valuable than having an auto-generated title.

Proposed Solution

Add a skip-title boolean option in opencode.json (under model options) to bypass the title generation step entirely.

Example configuration:

"models": {
  "google/gemma-4-26b-a4b": {
    "name": "gemma-4-26b-a4b",
    "options": {
      "skip-title": true
    }
  }
}

Activity

  1. github-actions commented on Jun 20, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. sergDash commented on Jun 20, 2026

    @sergDash
    Author

    I've already prepared a patch. I'm opening this issue to comply with the contribution guidelines.

  3. sergDash commented on Jun 20, 2026

    @sergDash
    Author

    packages/opencode/src/session/prompt.ts

    Modified the runLoop function to include:

              step++
              if (step === 1) {
                const cfg = yield* config.get()
                const skipTitleOption = cfg.provider?.[lastUser.model.providerID]?.models?.[lastUser.model.modelID]?.options?.["skip-title"]
    
                if (!(typeof skipTitleOption === "boolean" && skipTitleOption === true)) {
                  yield* title({
                    session,
                    modelID: lastUser.model.modelID,
                    providerID: lastUser.model.providerID,
                    history: msgs,
                  }).pipe(Effect.ignore, Effect.forkIn(scope))
                }
              }
    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "lmstudio": {
          "npm": "@ai-sdk/openai-compatible",
          "name": "LM Studio",
          "options": {
            "baseURL": "http://127.0.0.1:1234/v1"
          },
          "models": {
            "google/gemma-4-26b-a4b": {
              "name": "gemma-4-26b-a4b",
              "options": {
                "skip-title": true
              },
    ...
  4. Necmttn commented on Jun 21, 2026

    @Necmttn

    Title generation should be modeled as an optional side effect, not part of the critical first response path. A per-model skip-title works, but it should also record title_source=provided|generated|skipped_by_config|skipped_local_model.

    For local providers, defaulting to skip or defer is reasonable because the extra call can dominate latency. The session can start immediately with a fallback title, then backfill a generated title only when the provider is cheap/fast enough or the user opts in.


    Generated with ax.

  5. github-actions commented on Aug 21, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions