Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
Terminal RenderingArea: what it touches
Internal ChangesKind: in v2.1.277,
Internal ChangesSection of the release
What
Claude Code detects whether the terminal it's running in can display images inline. That detection logic has been rewritten to use a small internal state machine with clear stages: not yet asked, currently asking, and settled (answer known), with a way for other parts of the app to be notified once the answer settles. This sits inside a new container class that groups terminal capability checks together. The CLAUDE_CODE_FORCE_TERMINAL_IMAGES environment variable still works the same way, immediately forcing the detection to a settled, true state.
Why
This is an internal restructuring of how image-support detection is tracked; it should make the detection state more reliable to reason about, without changing the forced-on behavior of CLAUDE_CODE_FORCE_TERMINAL_IMAGES.
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Confirmed sinceAnthropic's documentation has since written up CLAUDE_CODE_FORCE_TERMINAL_IMAGES, on Interface gallery for mods.If your mod's users see the dimmed text in a terminal that does draw those placeholder images, they can set [`CLAUDE_CODE_FORCE_TERMINAL_IMAGES`](/docs/en/env-vars) to `1`, which skips detection. Inside tmux or screen that doesn't help: th…plugins/mods/gallerysee the edit
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up CLAUDE_CODE_FORCE_TERMINAL_IMAGES, on Interface gallery for mods.