Skip to content

feat(tui): show running tools and LLM status in sidebar #9655

Closed

Description

@Becktor

Problem

When running long operations (tools, background agents, LLM inference), there's no visibility into what's currently happening in the session.

Proposed Solution

Add a "Running" section to the sidebar that shows:

  • LLM status on top (Pondering, Streaming, Sending, Retry) with elapsed time
  • Active tools (bash, grep, glob, etc.) with command preview and elapsed time
  • Background agents numbered as agent1, agent2, etc.

Screencapture

Image

Notes

This is a UI change, so I understand it needs design review. Happy to discuss the approach or make adjustments based on feedback.

PR

#9658
I have a working implementation ready if this is something the team would consider.

Activity

  1. added
    opentuiThis relates to changes in v1.0, now that opencode uses opentui
    on Jan 20, 2026
  2. github-actions commented on Jan 20, 2026

    @github-actions
    Contributor

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

    Feel free to ignore if none of these address your specific case.

  3. R44VC0RP commented on Jan 20, 2026

    @R44VC0RP
    Contributor

    Thanks for the detailed proposal and mockup @Becktor! This addresses a real pain point - not knowing what's happening during long-running operations.

    A few related issues have been flagged:

    Your proposal is the most comprehensive of the bunch and includes a nice UI mockup. Since you mention you have a working implementation ready, would you be open to submitting a PR?

    A few things to consider for the PR:

    • The current SessionStatus types (idle, retry, busy) would likely need to be extended to capture the granular tool/LLM states you're proposing
    • The sidebar component (sidebar.tsx) is already structured with collapsible sections, so adding a "Running" section should fit well with the existing pattern

    Looking forward to seeing the implementation!

  4. Becktor commented on Jan 20, 2026

    @Becktor
    Author

    Hey thanks for the feedback!
    Yeah I already have a suggestion on how to get the granular states:

    edit: ended up extending the SessionStatus types instead. Was a lot cleaner.

    For running tools, I just look for ToolPart entries with state.status === "running" and check elapsed time against a 2 second threshold.
    The PR is ready: #9658

  5. added a commit that references this issue on Jan 20, 2026
    164da0a
  6. Becktor commented on Jan 26, 2026

    @Becktor
    Author

    @R44VC0RP Hate to ping you just curious what the process is moving forward. I know there are a lot of PR's and issues coming in so if patience is required I'll just hang tight and wait.

  7. R44VC0RP commented on Jan 26, 2026

    @R44VC0RP
    Contributor

    Hey, valid question.

    I can surface this to the team but I am a bit unclear why we actually need the agent1 agent2 statuses, would these be the subagents that a primary agent has started?

  8. Becktor commented on Jan 27, 2026

    @Becktor
    Author

    Yes correct! Let me update the screenshot to a gif of it running instead. (see above)

  9. Becktor commented on Jan 29, 2026

    @Becktor
    Author

    @R44VC0RP Please let me know if I should refrain from pining you. However, I'm still not really certain what the process is to get this merged.

  10. jaroslaw-weber commented on Feb 8, 2026

    @jaroslaw-weber

    please merge this, sometimes my agent get stuck and im not sure if its an issue on the provider side or sth else.

  11. github-actions commented on Apr 9, 2026

    @github-actions
    Contributor

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

  12. DerJJ commented on Jul 10, 2026

    @DerJJ

    I just came across this and are slightly disturbed why this was closed.

    Working in an air-gapped environment with on-site hosted models the sidebar is otherwise useless.
    This brings some fine value.

    I don´t understand why the reason for rejection was not commented?! Please be more transparent.

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

Metadata

Metadata

Assignees

Labels

opentuiThis relates to changes in v1.0, now that opencode uses opentui

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions