The Claude Code Changelog
All Episodes
Plugin Setup Gets Headless Support

Plugin Setup Gets Headless Support

0:00|0:00

We dig into the latest release updates that make plugin setup far smoother for unattended builds, including install-time config for bundled servers, a command to inspect missing options, and safer ways to pass secrets without exposing them in shell history.

Also covered: a fixed bug that silently skipped unconfigured bundled servers, SSH install support that now respects your custom git SSH settings, and a few quality-of-life changes like WebFetch disabling, background command timeouts, and launching Claude Desktop from the terminal.


Chapter 1

Headless Plugins and Bundled MCP Servers in Claude Code

Lachlan Reed

Okay, picture this. A container build is running at two in the morning, nobody's awake, and it needs a plugin that wants an API key. Where does the key go?

James Turner

Right, that's the wall. Until now the answer was a menu. You'd open /plugin, go to Configure, and type it in by hand.

Lachlan Reed

In a Dockerfile. Mate, that's like asking a fridge to fill out a form.

James Turner

Pretty much. But the 2.1.285 changelog says that's changed. You can now set a bundled server's own settings at install time, so it starts without you visiting that Configure screen.

Lachlan Reed

Quick word first, this one's brought to you by Jellypod AI. Right. Bundled server. What's that, exactly?

James Turner

It's an MCP server packaged inside a plugin, in a file format called dot mcpb. And the install command takes the config flag now. You write the server name, a dot, the key, an equals sign, and the value.

Lachlan Reed

So it's like, um, server dot key equals value. Just stuck on the end of the install.

James Turner

Yep. One line, no menu.

Lachlan Reed

But how do I know what keys a plugin even wants? I'd be guessing, and guessing at two in the morning is how I nearly wrecked a client's site once.

James Turner

That's the second piece. The changelog says claude plugin configure, then the plugin name, shows the plugin's options and which ones are unset. So you run it, see the gaps, and fill exactly those.

Lachlan Reed

Like a checklist that tells you what you forgot.

James Turner

Right. And it can also save values. The changelog says it reads them from stdin, with the values stdin flag.

Lachlan Reed

Hmm. Why's stdin better than just typing the value in the command?

James Turner

That part's my inference, not the changelog's, so take it with a grain of salt. But anything you type as an argument can land in shell history, or show up in a process list. Piping it in, from a secrets manager say, dodges both.

Lachlan Reed

Huh. So the secret goes down a pipe instead of on the whiteboard.

James Turner

I'm stealing that.

Lachlan Reed

Now the sneaky bit. What was the bug they fixed?

James Turner

Oh, this one's nasty. The changelog says plugins were silently skipping a bundled dot mcpb server that still needed configuration. Silently. No warning.

Lachlan Reed

So the pipeline goes green, and your tool just isn't there.

James Turner

Exactly the trap. Now /plugin, the install message, and the install command all say so, and point you to Configure.

Lachlan Reed

Good. A loud failure beats a quiet one every time.

James Turner

And there's an SSH fix in the same release. Plugin and marketplace installs over SSH were ignoring the ssh program set in GIT SSH, or in your git config's core dot sshCommand.

Lachlan Reed

So if I had a custom key set up, it just, it just went and used the default one?

James Turner

Basically, it ignored your program. Now it respects it.

Lachlan Reed

Fair. Anything else worth grabbing?

James Turner

Three small ones. First, an environment variable, CLAUDE CODE DISABLE WEB FETCH, turns off the WebFetch tool. Handy if a runner shouldn't be touching the network.

Lachlan Reed

Lock the door from the inside.

James Turner

Second, background Bash and PowerShell commands now stop after a time limit. Default is 30 minutes, max is 2 hours, and Claude gets notified when one is stopped.

Lachlan Reed

Oh, that's the zombie killer. I've left a dodgy process running overnight before. Not proud.

James Turner

And third, claude with the desktop flag opens the Claude desktop app on your current directory. Or on a session, if you add continue or resume with an ID.

Lachlan Reed

So terminal to desktop, same spot.

James Turner

Yep.

Lachlan Reed

Okay, so the two a.m. build. Configure command shows the gaps, install with server dot key equals value fills them, secrets come down the pipe, and if something's missing it actually yells.

James Turner

That's it. Nobody has to be awake.