Claude Code now works out an overall status from the current session and sends it to your terminal using special control sequences, which are hidden codes a terminal can read but does not print. The status is one of:
- working
- blocked
- done
- idle
- error
A blocked status also says why it is blocked: it is waiting for a permission, a question or a sign-in. The message can include text such as MCP input: ... or allow network: .... Claude Code also reports the states of background agents, which are helpers running tasks alongside the main conversation.
This is sent only on terminals that support it, and never on WezTerm.
Terminals and tools that split one terminal into several panes can use this to show Claude Code's state in a tab or status bar. You can then see that it is waiting for you without switching to it.