Skip to content

Any way for an extension to render a live panel in the terminal? #3979

Description

@hellices

Describe the feature or problem you'd like to solve

An extension has no way to render a live, refreshing panel in the terminal (e.g. a sub-agent progress dashboard) — session.log only appends scrolling text.

Proposed solution

I'm building a CLI extension that runs a bunch of sub-agents in parallel and I want to show progress while they run. Something like:

my-run · explore · 3/5 done · 02:14
✓ auth-coverage done 45s 12.3K tok
✓ input-validation done 38s 10.1K tok
⠿ rate-limiting streaming 41s 3.2KB 8.7K tok
⠿ error-handling tool 41s (web_fetch)
· cors-policy pending 0s

ideally refreshing in place.

As far as I can tell there's no way to do this from an extension right now. The only output options are session.log(..., { ephemeral: true }), which is just scrolling text with no fixed region, and the modal session.ui.* dialogs. Since stdout is the JSON-RPC channel I can't draw to the terminal myself either.

I have all the data on the extension side (state, elapsed, tokens, current tool per agent) — I just have no surface to render it on.

Would you consider an API for extensions to render a panel like this in the TUI?
Even a read-only snapshot (no keyboard, no live push) would be enough to start — the extension hands the host some structured rows and the host draws them. Live updates could come later.

@github/copilot ~1.0.65, extension via @github/copilot-sdk/extension.

Example prompts or workflows

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:pluginsPlugin system, marketplace, hooks, skills, extensions, and custom agentsarea:terminal-renderingDisplay and rendering: flickering, scrolling, line wrapping, output formatting

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions