Feature Request: Implement `--summary` mode for concise execution overview
Title: Feature Request: Implement --summary mode for concise execution overview
Labels: enhancement, feature-request, ux
Body
Is your feature request related to a problem? Please describe.
When Claude Code performs file modifications using tools like Edit, MultiEdit, or Write, it currently displays a full diff of the changes in the terminal. While this provides line-by-line detail, it has several drawbacks for agentic workflows:
- High Verbosity: For complex tasks involving many edits across multiple files, the terminal output becomes extremely verbose and difficult to scan quickly. This creates a lot of noise that can obscure the agent's high-level progress.
- Limited Actionability: The diffs shown in the terminal are read-only. Users cannot interact with them, and typically perform a final review using
git diffor their IDE's more powerful diffing tools anyway. - Loss of High-Level Context: Focusing on individual line changes can make it difficult to follow the agent's overall strategy. The user has to scroll back and connect the agent's reasoning with the subsequent diff.
The current implementation is optimized for granular, turn-by-turn review, but a more streamlined overview is needed for users who want to monitor long-running tasks at a higher level.
Describe the solution you'd like
We propose a new "summary mode" that can be activated with a command-line flag, such as claude --summary.
When this mode is enabled, instead of showing a full diff for each file modification, Claude Code would display a single-line, human-readable summary of the change. This provides a clean, changelog-style view of the agent's work.
Current Behavior (Diff View):
⏺ Update(src/components/Header.tsx)
⎿ Updated src/components/Header.tsx with 1 addition and 1 removal
25 - const Header = () => {
25 + const Header = ({ title }) => {
26 return (
27 <header>
28 - <h1>My App</h1>
28 + <h1>{title}</h1>
29 </header>
30 );
31 };
Proposed Behavior (claude --summary):
📝 Edited src/components/Header.tsx: Added a 'title' prop to display a dynamic heading.
Additional Examples:
- For creating a new file:
````
✅ Created src/utils/api.ts: Added a new function 'fetchUserData' to call the user API endpoint.
- For a multi-file edit:
````
📝 Edited 3 files: Refactored 'User' type to 'UserProfile' across the application.
Implementation Sketch
- This feature should be triggered by a new, optional CLI flag (e.g.,
claude --summaryorclaude --summary-mode). - The default behavior of showing full diffs will remain unchanged to support existing workflows.
- The logic for file modification tools (
Edit,MultiEdit,Write) would need to be updated to generate a concise summary of the action. This is analogous to the existing requirement for theBashtool to have adescription. The agent itself would be responsible for generating this summary as part of its reasoning process before calling the tool.
Describe alternatives you've considered
- A configuration setting in
settings.json: This would allow users to set summary mode as their default preference. This could be implemented alongside the CLI flag. - A
/summaryslash command: This would allow toggling the mode mid-session, offering more flexibility.
Additional context
This feature would significantly improve the user experience for monitoring complex, multi-step agentic tasks. It provides a clean, scannable log of the agent's actions, making it much easier for a user to understand what the agent is doing without getting lost in the details.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗