From c9e87d2aa628a0644d3f1a92cdae7e441b46ef29 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Wed, 6 May 2026 11:09:55 +0200 Subject: [PATCH] fix(tui): disable inline images in cmux Treat CMUX_WORKSPACE_ID like tmux/screen for terminal capabilities and document the issue link. fixes #4208 --- packages/tui/src/terminal-image.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/tui/src/terminal-image.ts b/packages/tui/src/terminal-image.ts index b300d8cf..a396b497 100644 --- a/packages/tui/src/terminal-image.ts +++ b/packages/tui/src/terminal-image.ts @@ -46,7 +46,10 @@ export function detectCapabilities(): TerminalCapabilities { // sequences differently). Force hyperlinks off whenever we detect them, even // when the outer terminal would otherwise support OSC 8. Image protocols are // also unreliable under tmux/screen, so leave `images: null` for safety. - const inTmuxOrScreen = !!process.env.TMUX || term.startsWith("tmux") || term.startsWith("screen"); + // cmux currently also gets this conservative fallback due to image corruption: + // https://github.com/badlogic/pi-mono/issues/4208 + const inTmuxOrScreen = + !!process.env.TMUX || !!process.env.CMUX_WORKSPACE_ID || term.startsWith("tmux") || term.startsWith("screen"); if (inTmuxOrScreen) { const trueColor = colorTerm === "truecolor" || colorTerm === "24bit"; return { images: null, trueColor, hyperlinks: false };