[BUG] Malformed YAML frontmatter in a single plugin crashes all plugin loading — no graceful degradation
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?
Installing a plugin (via desktop app zip upload) that contains a .md file with invalid YAML frontmatter causes ALL installed plugins to become inaccessible — not just the offending plugin. Skills, agents, hooks, and slash commands from every plugin stop working. Uninstalling the offending plugin immediately restores all other plugins.
What Should Happen?
The plugin loader should isolate parsing errors per-plugin. A malformed plugin should be skipped/disabled with a warning, while all other installed plugins continue to load and function normally.
Error Messages/Logs
No visible error message was displayed — plugins silently stopped working. No skills appeared in /help, no slash commands were available, no agents triggered. The failure was completely silent.
Steps to Reproduce
Steps to reproduce
- Have multiple working plugins installed (e.g., via marketplace or local upload)
- Create a plugin with an agent
.mdfile where thedescriptionfield is a plain YAML scalar followed by blank lines and<example>XML
tags — without using a YAML block scalar (|):
```yaml
---
name: my-agent
description: Use this agent when... Examples:
<example>
Context: User wants to do something
user: "Do the thing"
assistant: "I'll use the agent to do the thing."
<commentary>
User explicitly requested the thing.
</commentary>
</example>
model: inherit
color: blue
---
The blank line after Examples: causes the YAML parser to terminate the description value, then <example> is parsed as an invalid YAML key.
- Install this plugin via Claude Desktop App > Customize > Plugins (zip upload)
- All plugins become inaccessible — not just the new one
- Uninstall the offending plugin — all other plugins immediately work again
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
v2.1.12
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
- Platform: macOS (Darwin 25.3.0)
- The fix for the plugin author is straightforward: use description: | (YAML block scalar) for multi-line descriptions containing blank lines. But the loader should not let one plugin's parse error cascade to all plugins.
- The official plugin-dev documentation shows agent <example> blocks in the description field without the | indicator, which suggests this authoring pattern is expected to work.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗