Feature: Plugin API for custom animated UI components in tool output
Summary
Plugins, skills, and tools currently cannot render animated or interactive UI elements in Claude Code's output stream. All tool/Bash output is captured and displayed as static text blocks, even when it contains valid ANSI escape sequences designed for real-time animation (cursor repositioning, frame-by-frame redraws, etc.).
Meanwhile, Claude Code's own built-in UI (the ultrathink shimmer, progress spinners, thinking indicators) demonstrates that the Ink/React rendering layer is fully capable of beautiful animated terminal output.
Feature Request
Expose a plugin/tool API that allows custom Ink/React components to be rendered inline in the conversation output — not just static text blocks, but live-rendered elements that can animate, update, and respond to state changes.
Use Cases
- Neon shimmer text effects — animated color-cycling text for banners, status displays, session headers
- Custom progress indicators — domain-specific progress visualization (e.g., build pipelines, deployment stages)
- Live dashboards — real-time metric displays that update in-place (CPU usage, test runner output, deploy status)
- Interactive selection UIs — scrollable lists, confirmation prompts rendered inline
- Animated status banners — session connection status, environment health indicators with visual flair
Current Workaround
Scripts must be run in a separate terminal tab that Claude Code doesn't control. This breaks the integrated workflow — the user has to context-switch out of the conversation to see animated output.
Proposed API Shape (Suggestion)
Something like a render tool or output type that accepts a component definition:
{
"type": "animated_output",
"component": "shimmer-text",
"props": {
"text": "CODEX (CT-110) SESSION ESTABLISHED",
"color": "#00FFEA",
"animation": "wave",
"speed": 0.25
}
}
Or more flexibly, allow plugins to register custom Ink components that can be invoked by name in tool output.
Context
Discovered while building a neon teal shimmer effect for Windows Terminal's Midnight City color scheme. The 24-bit ANSI color animation works perfectly in a raw terminal but gets captured as a 233KB static text block when run through Claude Code's tool output handler. The effect requires frame-by-frame cursor repositioning (\033[{n}A) which the output viewer doesn't execute.
---
Filed from Claude Code on Windows 11 Pro.
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗