Summary
Parse Claude Code's terminal output and render the conversation in a chat-like UI alongside the terminal.
Details
Claude Code outputs structured content to the terminal — user prompts, Claude responses, tool use, diffs, etc. Instead of reading raw terminal output, render it as:
- Chat bubbles — user messages vs Claude responses
- Markdown rendering — Claude's responses rendered with proper formatting
- Code blocks — syntax-highlighted with copy buttons
- Tool use — collapsible sections showing file reads, edits, bash commands
- Diffs — rendered as proper diff views instead of terminal escape codes
Layout
- Split view: conversation panel (left) + terminal (right)
- Or: tabbed view toggling between chat and terminal
- Terminal remains the source of truth — chat panel is a parsed overlay
Implementation approaches
- Terminal output parsing — regex/heuristic parsing of Claude Code's ANSI output
- Claude Code integration — if Claude Code exposes structured output (JSON mode, log files), read that instead
- Proxy approach — intercept the WebSocket stream, parse before forwarding to xterm
Inspiration
- Cursor's chat panel
- GitHub Copilot Chat in VS Code
- Claude Desktop's conversation UI
Summary
Parse Claude Code's terminal output and render the conversation in a chat-like UI alongside the terminal.
Details
Claude Code outputs structured content to the terminal — user prompts, Claude responses, tool use, diffs, etc. Instead of reading raw terminal output, render it as:
Layout
Implementation approaches
Inspiration