CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN

Updated by

CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN is a Claude Code environment variable: Prevents the TUI from using the terminal alternate screen buffer. If Claude Code's UI is eating your terminal history, breaking tmux scrollback, or failing in CI log capture — this flag keeps output in the primary buffer. Added between v2.1.128 and v2.1.138 and still present in v2.1.294. It is listed in the official reference.

StatusPresent in v2.1.294
AddedAdded between v2.1.128 and v2.1.138
CategoryTerminal and UI
Official docsListed

How to set it

For one session, export it in the shell that starts Claude Code:

export CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=<value>
claude

To apply it to every session, add it to the env object of a settings file:

// ~/.claude/settings.json
{
  "env": {
    "CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN": "<value>"
  }
}

Release notes that mention it

Related variables

Frequently asked questions

What does CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN do?

Prevents the TUI from using the terminal alternate screen buffer. If Claude Code's UI is eating your terminal history, breaking tmux scrollback, or failing in CI log capture — this flag keeps output in the primary buffer.

Which Claude Code version has CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN?

Added between v2.1.128 and v2.1.138 and still present in v2.1.294.

How do I set CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN?

Export it before starting Claude Code (export CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=value), or add it to the "env" object in ~/.claude/settings.json to apply it to every session.

All variables, searchable: Claude Code environment variables.