[BUG] Repeated rendering of skill invocation

Resolved 💬 3 comments Opened Nov 17, 2025 by rayk Closed Nov 20, 2025

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The "communicate" skill is loading
The "communicate" skill is loading

What Should Happen?

ON display once

Error Messages/Logs

## Environment

- **Claude Code Version**: Latest (as of 2025-11-17)
- **Platform**: macOS (Darwin 24.6.0)
- **Model**: claude-sonnet-4-5-20250929

Steps to Reproduce

Reproduction Steps

  1. Use the space:communicate skill (or any skill) via the Skill tool
  2. Observe the conversation output
  3. Note that two identical "The [skill-name] skill is loading" messages appear consecutively

Expected Behavior

The skill loading message should appear once when a skill is invoked.

Actual Behavior

The skill loading message appears twice in rapid succession (16ms apart).

Evidence from Debug Logs

Debug log location: /Users/rayk/.claude/debug/latest

Key Log Entries

Line 1251 - Single Skill Invocation:

2025-11-17T00:31:02.010Z [INFO] SkillTool returning 2 newMessages for skill space:communicate

Line 1258 - First Rendering (00:31:02.010Z):

2025-11-17T00:31:02.010Z [DEBUG] Rendering user message with 1 content blocks
  isSkillFormat: true
  hasToolUse: false

Line 1263 - Second Rendering (00:31:02.026Z):

2025-11-17T00:31:02.026Z [DEBUG] Rendering user message with 1 content blocks
  isSkillFormat: true
  hasToolUse: false

Analysis

  • The SkillTool correctly returns 2 messages (the loading message + the skill's prompt content)
  • However, the UI rendering system processes the same loading message twice
  • Both renderings show identical properties (isSkillFormat: true, same content)
  • The double rendering occurs within 16ms, suggesting it's not user-triggered

Root Cause

This appears to be a UI rendering bug in the Claude Code CLI where a single message from the SkillTool is being rendered twice by the message rendering system, rather than a logic error in skill invocation.

Impact

  • Severity: Low (cosmetic)
  • User Experience: Confusing - users see duplicate loading messages
  • Functionality: No functional impact - skill executes correctly

Additional Context

This bug was discovered during investigation of sub-capability management implementation in the realize plugin. The skill invocation itself works correctly; only the UI display is affected.

Suggested Investigation Areas

  1. Message rendering pipeline in Claude Code CLI
  2. How SkillTool messages are processed by the UI layer
  3. Deduplication logic for consecutive identical messages
  4. Event handlers that might be double-triggering renders

Contact

This bug report was generated as part of conversation analysis. For questions or additional context, refer to the debug logs referenced above.

---

Claude Model

Sonnet (default)

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

Claude Code Version: Latest (as of 2025-11-17)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

IntelliJ IDEA terminal

Additional Information

_No response_

View original on GitHub ↗

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