docs(research): claude-code pane in the dashboard #43
Reference in New Issue
Block a user
Delete Branch "research-claude-code-pane"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Research doc surveying the three realistic ways to put a claude-code session inside the dashboard TUI so you can interact with it without leaving
./cli.py dashboard:docker exec -it, restore on exit. Clones the existinge/peditor pattern. ~30 lines, no new deps, side-by-time rather than side-by-side.pyte, paint cells into a curses pane. Real "pane in the dashboard" but a six-week build with one new dep and several integration trap-doors (alt-screen support, resize protocol, input routing, multi-PTY state).Recommends shipping Option 1 first; defers Option 2 to "only if Option 1 is observably insufficient"; treats Option 3 as niche augmentation.
Calls out four followups to verify before committing to any path (claude-code's PTY behavior at small heights, attach-to-existing-exec semantics, SIGWINCH handling, the
-itvs-irequirement for the embedded path).Survey the three realistic ways to surface a claude-code session inside the dashboard TUI: 1. Handoff — drop curses, foreground claude, restore on exit (the existing `e`/`p` pattern, extended). Minimal code, side-by-time rather than side-by-side. 2. Embedded emulator — own a PTY, parse claude-code's ANSI stream via `pyte`, paint it into a curses pane. Real "pane in the dashboard" but a six-week build with one new dep and several integration trap-doors (alt-screen, resize, input routing, multi-PTY state). 3. External multiplexer — delegate pane creation to tmux / iTerm / wezterm when detected. Tiny code, but splits the operator's mental model and gives up layout control. Recommendation: ship Option 1 first; defer Option 2 to "only if Option 1 is observably insufficient"; treat Option 3 as a niche augmentation for power users. Calls out four followups worth verifying before committing (PTY behavior at small sizes, attach-to-existing-exec, SIGWINCH handling, `-it` vs `-i` for the embedded path).