[BUG] Malformed YAML frontmatter in a single plugin crashes all plugin loading — no graceful degradation

Resolved 💬 3 comments Opened Apr 17, 2026 by mikeprasad Closed May 26, 2026

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

  1. Have multiple working plugins installed (e.g., via marketplace or local upload)
  2. Create a plugin with an agent .md file where the description field 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.

  1. Install this plugin via Claude Desktop App > Customize > Plugins (zip upload)
  2. All plugins become inaccessible — not just the new one
  3. 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.

View original on GitHub ↗

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