{"name":"CLAUDE_CODE_FORCE_TERMINAL_IMAGES","slug":"claude-code-force-terminal-images","family":"env","title":"Environment variables","noun":"environment variable","description":"Claude Code now probes terminals for kitty's image-display protocol, though most users see no effect yet","description_source":"entry","described_by":{"version":"2.1.275","anchor":"kitty-terminal-image-protocol-probing-wired-in-but-unresolve"},"presence":{"first_seen":"2.1.275","removed_in":null,"in_current_build":true,"newest_mined":"2.1.319","builds":41,"mined_builds":159,"first_cited":{"version":"2.1.275","released_at":"2026-09-17 20:20:31","spans":2}},"aliases":[],"entries":[{"version":"2.1.310","anchor":"tmux-pane-tracking-for-inline-terminal-images-kittyiterm2","heading":"Inline images inside tmux are kept in place when the pane moves or regains focus","line":"Inside tmux with passthrough on, Claude Code now tracks the pane and redraws inline images when it moves, resizes or regains focus","released_at":"2026-10-23 21:20:46","reason":"found in this entry's text"},{"version":"2.1.305","anchor":"terminal-capability-map-gains-a-separate-itermimages-check","heading":"Separate check for iTerm-style inline images","line":"Claude Code now checks separately whether iTerm-style inline images can be used, skipping them in background sessions and in tmux or screen","released_at":"2026-10-20 19:29:36","reason":"found in this entry's text"},{"version":"2.1.277","anchor":"terminal-image-support-capability-detection-reworked-into-a","heading":"Terminal image-support capability detection reworked into a settle\/cache class","line":"Terminal image-support detection was rebuilt around a proper pending\/settled state machine","released_at":"2026-09-18 16:22:26","reason":"found in this entry's text, named in this entry"},{"version":"2.1.275","anchor":"kitty-terminal-image-protocol-probing-wired-in-but-unresolve","heading":"Kitty terminal image protocol probing wired in but unresolved for most users","line":"Claude Code now probes terminals for kitty's image-display protocol, though most users see no effect yet","released_at":"2026-09-17 20:20:31","reason":"found in this entry's text"}],"entries_total":4,"docs":[{"source":"claude-code","path":"plugins\/mods\/gallery","title":"Interface gallery for mods","documented":false}],"docs_total":1,"gates":[],"related":[{"name":"CLAUDE_CODE_FORCE_BRIDGE","slug":"claude-code-force-bridge","description":null},{"name":"CLAUDE_CODE_FORCE_EVALUATE_MEMORY","slug":"claude-code-force-evaluate-memory","description":null},{"name":"CLAUDE_CODE_FORCE_FIRST_LAUNCH","slug":"claude-code-force-first-launch","description":"Set CLAUDE_CODE_FORCE_FIRST_LAUNCH to replay the fresh-install startup experience."},{"name":"CLAUDE_CODE_FORCE_FULL_LOGO","slug":"claude-code-force-full-logo","description":"Boolean. When there are no unseen release notes, the startup header returns a condensed element instead of the full `Claude Code` logo box; a true value (`1`, `true`, `yes` or `on`) renders the full logo box anyway. Unset or any other value keeps the condensed header."},{"name":"CLAUDE_CODE_FORCE_FULLSCREEN_UPSELL","slug":"claude-code-force-fullscreen-upsell","description":"You can start a throwaway fullscreen session with an env var, and the upsell stops after three showings."},{"name":"CLAUDE_CODE_FORCE_MEMORY_SURVEY","slug":"claude-code-force-memory-survey","description":null},{"name":"CLAUDE_CODE_FORCE_MEMORY_WRITE_SURVEY","slug":"claude-code-force-memory-write-survey","description":null},{"name":"CLAUDE_CODE_FORCE_MID_CONVERSATION_SYSTEM","slug":"claude-code-force-mid-conversation-system","description":"A new env var forces mid-conversation system prompt changes that were previously decided by heuristics."},{"name":"CLAUDE_CODE_FORCE_SESSION_PERSISTENCE","slug":"claude-code-force-session-persistence","description":"Set to `1` to force transcript persistence, prompt history, and `claude agents` registration even when this `claude` was launched from inside another Claude Code session. Use when an inherited `CLAUDE_CODE_CHILD_SESSION` value, for example from a `screen` session or a background launcher first started by Claude Code's Bash tool, causes a genuine top-level session to be misclassified as nested. As of v2.1.178, Claude Code detects the tmux case automatically and ignores the inherited marker, so tmux no longer needs this variable. Also honored on v2.1.169 and earlier; has no effect on v2.1.170 and v2.1.171, where the nested-session detection it overrides was removed"},{"name":"CLAUDE_CODE_FORCE_STRIKETHROUGH","slug":"claude-code-force-strikethrough","description":"Set to `1` to force strikethrough rendering for `~~text~~` in Claude's responses when your terminal supports it but is not auto-detected, such as over SSH without `TERM_PROGRAM` forwarded. Without this, undetected terminals show the literal `~~` markers instead of rendering the text as strikethrough. Requires Claude Code v2.1.186 or later"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-force-terminal-images","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}