Skip to content

[Bug]: Error asks to 'press Stop' to switch model/provider, but no Stop button is shown when thread is idle #36450

Open

Description

@Abhay2133

Before submitting

Area

apps/desktop

Steps to reproduce

  1. In a thread, let the agent start background work (background tasks, subagent, or commands).
  2. Wait for the main agent's turn to complete / settle so the thread is idle (no active streaming run).
  3. Switch the model or provider from the model picker in the composer.
  4. Try to send a message.
  5. The message is refused with:

    The previous provider is still running background agents or commands, and switching would end them. Wait for them to finish, or press Stop, then send the message again.

Expected behavior

If the error message instructs the user to "press Stop":

  1. The UI should display an accessible Stop control (e.g. a persistent Stop button in the composer or header while background work is active, or a dedicated "Stop background work" button).
  2. Ideally, the error banner itself should offer a one-click action: "Stop background work & switch" or "Queue behind background tasks".

Actual behavior

  • The UI only displays a Stop button while a foreground turn is actively running/streaming.
  • Once the main turn is finished, the composer returns to its idle state, and no Stop button is rendered anywhere in the interface.
  • As a result, the user is trapped in a dead end: they are instructed to press Stop, but have no way to do so, leaving them completely unable to switch models or providers.

Impact

Blocks work completely

Environment

  • Platform: Windows x64 (also reproduces across desktop and web clients)
  • Version: T3 Code 0.1.10-nightly (and earlier versions)

Workaround

Starting a completely new thread or manually editing the underlying database state.

Activity

  1. juliusmarminge commented on Nov 14, 2026

    @juliusmarminge
    Member

    @Abhay2133 Which provider and model was the thread on before you switched, and what exactly was still running in the background (a shell command, a subagent, image generation, an MCP app, a Monitor)? A screenshot of the thread when the error appears would help, especially the area just above the composer.

  2. SirDragonClaw commented on Nov 14, 2026

    @SirDragonClaw

    @juliusmarminge same dead end here. I was on Codex (gpt-6.1-sol), switching to Claude. Nothing was visibly running: the delegated tasks had all finished, pendingBackgroundTasks was empty, and there was no Stop anywhere. Even an app restart would not clear it.

    I've put up a fix in #36596. Stop now reaches background work that only the provider sees, and the error banner offers Stop on this refusal. Tested on macOS and Windows by Opus and Fable.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions