[FEATURE] Option to disable terminal clear on session start
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When Claude code starts a new session, it clears the terminal screen, erasing output from previous sessions or any other commands run in the same terminal window. There is currently no way to disable this behavior.
Request:
Add a setting (e.g. terminal.clearOnStart: false in settings.json) to opt out of the startup screen clear, so users can preserve their terminal history across Claude sessions.
Use case:
When working in a single terminal pane, the clear on startup wipes output from previous Claude sessions or adjacent shell commands that are still useful for reference and there is no way to recover as of now.
Proposed Solution
Claude Code should respect a new configuration option, for example:
// settings.json
{
"terminal": {
"clearOnStart": false
}
}
Implementation details:
- Read the setting at startup before any terminal rendering occurs
- Skip the clear sequence (\033[2J\033[H or equivalent clear() call) if the setting is false
- Default to true to preserve existing behavior — no breaking change for current users
- The setting should be supported in both user-level (~/.claude/settings.json) and project-level (.claude/settings.json) config files, consistent with how other Claude Code settings work
Alternative Solutions
- Honoring the $TERM environment or a NO_CLEAR env var, less discoverable than a first-class setting
- A CLI flag (--no-clear): works but requires typing it every time; a persistent setting is more ergonomic
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_