Feature Request: Color-code Skill, Hook, Plugin, and MCP Server invocations like Agent spawns

Resolved 💬 3 comments Opened Feb 14, 2026 by innersanctumtech Closed Mar 25, 2026

Summary

When agents are spawned via the Task tool, Claude Code renders them with distinct color-coded visual indicators in the terminal (colored agent names, visible nesting). However, when Skills (via the Skill tool), Hooks (PreToolUse, PostToolUse, UserPromptSubmit), Plugins, or MCP server tool calls are invoked, they blend in with regular text output and are visually indistinguishable from each other.

This feature request asks for similar color-coded visual treatment for these invocation types.

Current Behavior

  • Agent spawns (Task tool): Get distinct colored indicators in the terminal UI -- easily scannable
  • Skill invocations (Skill tool): Appear as regular text
  • Hook executions: No visual indication at all in the conversation stream
  • Plugin calls: Appear as regular tool calls
  • MCP server tool calls (mcp__servername__toolname): Appear as regular tool calls, indistinguishable from built-in tools

In a session with many hooks firing, skills being invoked, and MCP servers being called, it is very difficult to scan the terminal output and understand what is being routed where.

Desired Behavior

Each invocation type should have a distinct visual treatment, similar to how agent spawns are rendered. For example:

| Invocation Type | Suggested Visual Treatment |
|----------------|---------------------------|
| Agent spawn (Task) | Already colored (keep as-is) |
| Skill invocation | Distinct color or icon prefix |
| Hook execution | Distinct color or icon prefix |
| Plugin call | Distinct color or icon prefix |
| MCP server tool call | Distinct color, ideally showing server name prominently |

The exact colors/icons are up to the Claude Code team -- the key ask is that these invocation types are visually distinguishable from each other and from regular tool calls.

Why This Matters

  1. Scanability: Users with complex setups (10+ hooks, multiple skills, several MCP servers) cannot quickly scan terminal output to understand what is being invoked
  2. Debugging: When something goes wrong, being able to visually identify which hook/skill/MCP server was involved saves significant time
  3. Transparency: Users want to see at a glance that their custom infrastructure (hooks, skills, plugins) is actually firing
  4. Consistency: Agent spawns already get this treatment -- extending it to other invocation types creates a consistent visual language

Important Implementation Note

This must be implemented at the Claude Code UI rendering level. ANSI escape codes emitted from hook stdout are rendered as literal text in the conversation stream, not as terminal colors. There is no workaround available from the hook/skill/plugin side -- the Claude Code renderer itself needs to apply the visual treatment based on invocation type.

Environment

  • Platform: macOS (darwin)
  • Terminal: iTerm2
  • Use case: Power user with 4+ active hooks, 38 installed skills, 5+ MCP servers

View original on GitHub ↗

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