[FEATURE] Add configuration option for character-by-character streaming display
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
Currently, Claude Code displays responses in chunks where complete sections of text appear at once. While the underlying API is streaming tokens in real-time, the CLI renders them in larger blocks rather than progressively character-by-character.
This creates a less smooth reading experience compared to other AI interfaces that display text as if it's being "typed out." Users who prefer to see text appear progressively, similar to a typing effect, have no way to configure this behavior.
Proposed Solution
Add a configuration option to control how streamed text is rendered to the terminal. This could be implemented as:
Option 1: Settings configuration
{
"streamingDisplayMode": "character" // or "chunk" (default)
}
Option 2: CLI flag
claude --stream-display character
Desired behavior:
charactermode: Text appears character-by-character or word-by-word as tokens arrive, creating a smooth typing effectchunkmode (default): Current behavior where complete sections appear at once (for users who prefer faster display)
The implementation would take the streamed token deltas already arriving from the API and render them progressively to the terminal rather than buffering them into larger display chunks.
Alternative Solutions
Currently, there is no workaround for this. The display rendering is handled internally by Claude Code's terminal UI layer and cannot be modified by users.
Other AI chat interfaces (like ChatGPT web interface) provide smooth character-by-character streaming by default, which provides better visual feedback that content is actively being generated.
Priority
Medium - Would be very helpful
Feature Category
Interactive mode (TUI)
Use Case Example
Example scenario:
- User starts a Claude Code interactive session
- User asks a complex question that generates a long response
- With character-by-character streaming, the user sees text appear progressively as if being typed
- This provides better visual feedback that Claude is actively working
- The reading experience feels more natural and engaging
Current experience:
- User sees sections of text "pop in" as complete blocks
- Less sense of progressive generation
- Can be jarring when large blocks appear suddenly
With this feature:
- User sees smooth, progressive text appearance
- Better sense of real-time generation
- More engaging reading experience
- Still maintains the option for faster chunk-based display for users who prefer it
Additional Context
The Claude API already supports token-by-token streaming with text_delta events containing small incremental chunks. This feature request is specifically about how the CLI application renders those chunks to the terminal - it's a client-side rendering preference.
This would be purely a display/UX enhancement and wouldn't change the underlying API communication or performance characteristics.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗