Feature: Visual prompt state indicators (working/waiting/done/error)
Summary
When using Claude Code, the prompt looks the same regardless of what state the system is in. It's difficult to tell at a glance whether Claude Code is:
- Still working in the background
- Finished and idle
- Waiting for user input/action
- Waiting for tool permission
- Stopped/idle
- Blocked by an error
Proposal
Add visual state indicators to the prompt (e.g., distinct icons/emojis) that change based on the current state of Claude Code. This would provide immediate visual feedback without needing to read output.
Proposed states (6)
| State | Description |
|-------|-------------|
| Working | Claude is processing, running tools, or generating output |
| Done | Task completed, ready for next input |
| Waiting for user | Claude asked a question or needs user decision |
| Waiting for permission | A tool requires user approval before executing |
| Idle/Stopped | No active task, prompt is ready |
| Error/Blocked | Something went wrong, needs attention |
Visual approach
Each state should have a distinct icon/emoji prefixed to the prompt character, making the current state immediately recognizable. The specific icons should be chosen by the team for consistency with the existing UI.
Example (illustrative)
⏳ > # Working in background
✅ > # Done
❓ > # Waiting for user input
🔐 > # Waiting for tool permission
> > # Idle (default)
❌ > # Error/blocked
Motivation
During long-running tasks or multi-step workflows, I frequently find myself unsure whether Claude Code is still processing or waiting for me. This is especially confusing when:
- Background agents are running
- Claude is waiting for tool approval
- A task silently failed
A simple visual indicator would save time and reduce confusion.
6 Comments
omg thank you for reading my mind, this is so under appreciated
I've been seeing these indicators in the last month and now they're gone in VS code. Anybody else with this issue?
@leonardfactory
There's a trick to enable terminal titles in vs code. I did this small script to automatically rename the tab based on the session's topic. Probably there's an answer to your question
https://github.com/dxrayhq/claude-session-labels
<img width="500" height="500" alt="Image" src="https://github.com/user-attachments/assets/8c6acab4-8b0e-4f74-bc59-087e5fcf4f76" />
Created #52160 which asks for something similar, but focused more on easy-to-spot modification of the terminal window.
Filed a narrow, tab-title-specific slice of this as #69306: a distinct OSC-title idle marker for the "idle, but ≥1 background shell/agent still running" state. It builds on the existing braille-vs-asterisk title scheme documented in #68643, and relates to #62516 (the same background-task state isn't exposed elsewhere). Cross-linking so the broad prompt-indicator concept here and that specific case stay connected.
Hey my open source package claude-code-autoconfig has the Waiting indicator that you're asking for. Article here:
https://www.linkedin.com/pulse/waiting-state-indicator-youve-been-claude-code-andrew-ciccarelli-sc64e/
Install free ➜ npx claude-code-autoconfig