
Plugin Setup Gets Headless Support
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.