The Claude Code Changelog
All Episodes
Claude Code Fixes Silent MCP Failures in 2.1.28.1

Claude Code Fixes Silent MCP Failures in 2.1.28.1

0:00|0:00

We dig into a frustrating Claude Code bug where MCP tools can silently disappear, then break down how release 2.1.28.1 improves validation by catching dropped .mcp.json entries, undeclared template variables, and insecure HTTP endpoints before they hit production.

We also cover a stricter schema gotcha for existing CI pipelines and a handy quality-of-life update for disabling automated Git commit and PR attribution footers.


Chapter 1

Catching Silent Plugin Failures with Claude Code 2.1.281

Lachlan Reed

You ever build a local Claude Code plugin, test it out, push it live, and then... nothing? Like, it installs completely clean, no error messages, but the embedded MCP tools just silently fail to load?

James Turner

Oh man, that is the ultimate phantom bug. You think everything is smooth sailing until your users start reporting that half the tools are missing.

Lachlan Reed

It is proper frustrating, mate. But hey, before we dig into how to fix that, this episode is brought to you by Jellypod AI, the best way to turn your content into engaging, full length podcasts.

James Turner

Yeah, Jellypod makes audio creation ridiculously easy! But back to these ghost tools in Claude Code. What actually causes them to just disappear without an error?

Lachlan Reed

Well, usually it was something like an unparsed variable or a malformed server entry in your config. Claude Code would just drop the entry on load without telling a soul.

James Turner

Right, so it fails silently at runtime instead of blowing up at build time. That is rough for testing.

Lachlan Reed

Exactly. But in release 2 point 1 point 2 8 1, Anthropic upgraded the CLI validation tool. Now when you run claude plugin validate, it actually inspects the dot m c p dot j s o n files inside your plugin bundle.

James Turner

Oh nice! So what specific checks is it running now during validation?

Lachlan Reed

According to the release notes for version 2 point 1 point 2 8 1, added MCP server checks to claude plugin validate reports dot m c p dot j s o n entries that would be silently dropped at load. It also flags undeclared user config template variables and insecure HTTP endpoint URLs.

James Turner

Wait, HTTP URLs? So if someone accidentally points an MCP server to an unencrypted HTTP link instead of HTTPS, the validator catches it right away?

Lachlan Reed

Spot on. It blocks those insecure endpoints right at the door before you ship it off to your team or market.

James Turner

That is massive for CI pipelines. You can literally just drop claude plugin validate into your GitHub Actions workflow, and it acts as a gatekeeper against broken plugin releases.

Lachlan Reed

Yeah, though, um, there is a bit of a catch you have to watch out for if you are putting this into existing pipelines.

James Turner

Uh oh, what is the catch? Is it breaking older setups?

Lachlan Reed

Sort of, yeah! Because the validation schema is much stricter now, if you had custom comments or loose JSON formats in your dot m c p dot j s o n that used to just get ignored... well, now the validator considers those schema violations and fails the build.

James Turner

So if you were relying on permissive parsing before, your CI might suddenly turn red on update until you clean up your JSON files.

Lachlan Reed

Precisely. Clean up your schemas first, then automate it.

James Turner

Got it. Hey, while we are on 2 point 1 point 2 8 1, weren't there a few other nice little quality of life tweaks in this release?

Lachlan Reed

Oh mate, absolutely. My favorite small tweak is that you can now cleanly disable automated Git commit and PR attribution footers.

James Turner

Oh, you mean those generated by Claude Code lines that get appended to your commit messages?

Lachlan Reed

Yeah, those ones! You can just set attribution to false in your settings dot j s o n file now, and it completely suppresses all those commit and PR footers across the board.

James Turner

That is awesome for keeping repo history looking clean and human written. Small fix, big impact!

Lachlan Reed

Too right! Alright, update your CLI tools, run your validations, and keep those builds clean. Catch ya next time!