You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Worktree terminal output renders garbled / column-misaligned on wide or complex TUI content (markdown tables, box-drawing, wide Claude Code output). The garble can also re-render into a different misaligned state on its own, with no user input. Reproduced on a clean 0.1.21 install.
Environment
Agent Workspace 0.1.21 (fresh Windows NSIS install)
Windows 11, desktop app (Tauri / WebView2)
Mixed-repo workspace with several tiled worktree terminals (5 worktrees, agent+server pairs)
Possible contributing factors (investigated, not confirmed as root cause)
Renderer fallback to DOM.client/terminal.js (and client/commander-panel.js) pass rendererType: 'canvas', but xterm 5.x removed that option, so terminals fall back to the DOM renderer — which is prone to leaving damaged rows unrepainted until a scroll forces a redraw. That matches the "fixes on scroll" behaviour. (PR fix: use Canvas renderer for terminals so output isn't intermittently garbled #1011 loads the Canvas renderer addon for this; unclear whether it also fixes the wide-content column misalignment, which looks more like a sizing/wrapping problem than a repaint one.)
PTY size vs rendered grid mismatch. The "columns don't line up / jumps on its own" pattern is consistent with the PTY's cols/rows disagreeing with the actual rendered grid width, so the agent wraps at the wrong column. The auto-heal re-fit (client/terminal.js, ~15s interval + on focus/visibility change) may itself re-wrap content into a new (still-wrong) state, which would explain the spontaneous "jumping."
Environment-specific. Windows 11 + WebView2 + a tiled multi-terminal grid; possible fit/measurement timing issues when many terminals share the grid and get resized together.
Best-effort repro
Open a mixed-repo workspace with several tiled worktree terminals on Windows (WebView2 build).
Have an agent emit wide/complex output (a markdown table or a boxed TUI).
Observe misaligned columns; note the layout can change on its own after a few seconds (around the auto-heal interval).
Notes
Happy to gather more detail if useful — e.g. which xterm renderer is actually active at runtime, and the PTY cols/rows vs the terminal element's measured width at the moment of garbling. Filing this from field experience where I couldn't reliably reproduce it outside the packaged Windows/WebView2 build, so a maintainer with more environments may be able to pin the exact cause.
Summary
Worktree terminal output renders garbled / column-misaligned on wide or complex TUI content (markdown tables, box-drawing, wide Claude Code output). The garble can also re-render into a different misaligned state on its own, with no user input. Reproduced on a clean 0.1.21 install.
Environment
Symptoms
Possible contributing factors (investigated, not confirmed as root cause)
client/terminal.js(andclient/commander-panel.js) passrendererType: 'canvas', but xterm 5.x removed that option, so terminals fall back to the DOM renderer — which is prone to leaving damaged rows unrepainted until a scroll forces a redraw. That matches the "fixes on scroll" behaviour. (PR fix: use Canvas renderer for terminals so output isn't intermittently garbled #1011 loads the Canvas renderer addon for this; unclear whether it also fixes the wide-content column misalignment, which looks more like a sizing/wrapping problem than a repaint one.)cols/rowsdisagreeing with the actual rendered grid width, so the agent wraps at the wrong column. The auto-heal re-fit (client/terminal.js, ~15s interval + on focus/visibility change) may itself re-wrap content into a new (still-wrong) state, which would explain the spontaneous "jumping."Best-effort repro
Notes
Happy to gather more detail if useful — e.g. which xterm renderer is actually active at runtime, and the PTY
cols/rowsvs the terminal element's measured width at the moment of garbling. Filing this from field experience where I couldn't reliably reproduce it outside the packaged Windows/WebView2 build, so a maintainer with more environments may be able to pin the exact cause.