[BUG] Repeated rendering of skill invocation
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
- Use the
space:communicateskill (or any skill) via the Skill tool - Observe the conversation output
- 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
SkillToolcorrectly 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
- Message rendering pipeline in Claude Code CLI
- How
SkillToolmessages are processed by the UI layer - Deduplication logic for consecutive identical messages
- 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_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗