Feature request: Human-readable titles/labels for tool use blocks

Status Closed — duplicate
Maintainer reply None cached
Activity 3 comments · opened Apr 6, 2026 · closed Apr 10, 2026

Problem

In long Claude Code sessions, it becomes very difficult to scroll back and identify what each tool use block did. Every block looks structurally similar — Read file, Write file, Bash command — and there's no quick way to orient yourself in a complex multi-step workflow.

After 20+ tool calls in a session, trying to find "the step where we updated the config" means scanning through every collapsed block manually.

Proposed Solution

Add a human-readable title/label to each tool use block in the terminal UI. The model already understands the intent behind each action — surface that as a visible header on each block.

Before (current):

▸ Read file: src/components/App.tsx
▸ Bash: npm test
▸ Write file: src/components/App.tsx  
▸ Bash: npm test
▸ Read file: src/utils/config.ts

After (proposed):

▸ [Reviewing main App component] Read file: src/components/App.tsx
▸ [Running initial test suite] Bash: npm test
▸ [Fixing broken import in App] Write file: src/components/App.tsx
▸ [Verifying fix passes tests] Bash: npm test
▸ [Checking config for API endpoint] Read file: src/utils/config.ts

Prior Art

  • Meta's Metamate agent uses a notebook-style UI where every code execution cell gets a descriptive title (e.g., "Query user metrics", "Plot weekly trends"). This makes long sessions navigable and reviewable.
  • Jupyter notebooks — cell titles and markdown headers serve the same purpose.
  • IDE debugger step labels — breakpoints and step-through debugging show intent, not just mechanics.

Implementation Ideas

  • The model could emit a short title field alongside each tool call (similar to how it already generates reasoning text)
  • Rendered as a prefix on the collapsed tool block header
  • Could be toggleable via a setting for users who prefer the current minimal view
  • Minimal prompt engineering needed — the model already has this context, it just needs a structured place to surface it

Impact

This would significantly improve usability for:

  • Long coding sessions (20+ tool calls)
  • Reviewing session history / conversation replay
  • Pair programming where someone else needs to understand what happened
  • Debugging when something went wrong mid-session

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗