Add "clear display" action that clears terminal output without resetting conversation context
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
In long Claude Code sessions, the terminal accumulates a lot of output — tool calls, diffs, responses — making it visually noisy and hard to navigate. There's no way to wipe the visible output without also losing the conversation context.
/clear resets the screen but also clears context, which destroys the session state. The current ctrl+l binding (app:redraw) refreshes the display but doesn't clear it. There is no action that does what ctrl+l does in a normal terminal: clear the visible output while preserving history and state.
Proposed Solution
Add a new keybinding action app:clearDisplay (or similar) that clears the visible terminal output without touching the conversation context. Bind it to ctrl+l by default (replacing or supplementing app:redraw), matching standard terminal behavior.
Alternative Solutions
Currently using /compact as a workaround, but that alters context. Opening a new session loses all history. Neither is a real substitute for a simple visual clear.
Priority
Medium - Would be very helpful
Feature Category
Interactive mode (TUI)
Use Case Example
- I've been working in a session for 30+ minutes with many tool calls and diffs
- I want a clean view to focus on the next task
- I press
ctrl+l— the screen clears visually, like in any terminal - Claude still has full context of everything we've discussed
Additional Context
Standard terminals (bash, zsh) treat ctrl+l as "clear display, preserve history." Claude Code's ctrl+l (app:redraw) doesn't match this expectation. The fix is purely a new action in the keybinding system — no context or model changes required.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗