Claude Code: How to Reconfigure an Installed Plugin Without Reinstalling It (2.1.285)
MarkdownClaude Code 2.1.285 introduced the claude plugin configure command. How to check plugin settings in the documentation and change a token or address without reinstalling.
Read full article
Key takeaway
Claude Code 2.1.285 introduced the terminal command claude plugin configure <plugin>. With no flags, it shows which plugin settings are set and which are unset, without printing their values. With --values-stdin, it saves new values from a JSON file supplied as input, without reinstalling the plugin. Ordinary values are stored in settings.json under pluginConfigs, while values for fields marked sensitive: true are stored in the system's secure credential store.
This guide is for users who already have a Claude Code plugin installed that declares userConfig settings, such as an address, a token or a folder path. You need to correct a value entered incorrectly or replace a token without reinstalling the plugin. Everything below is based on the official Claude Code documentation and changelog. The article does not include an original test run.
Information about using Ailoot is available in the documentation.
What does claude plugin configure do in Claude Code 2.1.285?
The Claude Code changelog entry for version 2.1.285 (a commit dated 29 September 2026) contains several lines about plugins. Two of them are relevant to this article:
Added
claude plugin configure <plugin>to show a plugin's options and which are unset, or save new values read from stdin with--values-stdin
This means that the new claude plugin configure <plugin> command shows a plugin's settings and which ones are unset, or saves new values read from standard input when used with --values-stdin.
Added
<server>.<key>=<value>toclaude plugin install --config, so a bundled.mcpbMCP server's own settings can be set at install time and it starts without visiting/plugin→ Configure
This means that claude plugin install --config now supports the <server>.<key>=<value> form, allowing the settings of an MCP server bundled with a plugin in a .mcpb file to be supplied during installation, so the server starts without visiting /plugin → Configure.
The command reference confirms the version requirement: claude plugin configure requires Claude Code v2.1.285 or later. The command does not exist in earlier versions.
How this differs from /plugin configure
The /plugin configure <plugin> command (with the alias config) was already available inside an interactive Claude Code session. It opens a dialog for userConfig settings and requires v2.1.147 or later. However, /plugin only works in an interactive session: in a non-interactive invocation such as claude -p, Claude Code responds that /plugin is unavailable in that environment.
According to the documentation, claude plugin commands are run from a shell or script, outside a Claude Code session. This also lets you run claude plugin configure without opening a dialog. The documentation does not describe how this command behaves without an interactive terminal or where it stores secret values on a server without a graphical environment. Check this in your own environment before using it in CI.
Step 1. See which settings are set
The documentation requires the full plugin identifier in the form name@marketplace, as shown by claude plugin list. The configure command does not accept a name without @marketplace.
claude plugin list
claude plugin configure formatter@my-marketplace
Replace formatter@my-marketplace with your plugin's identifier. With no flags, the command lists each setting with labels: required or optional, then sensitive for a secret field, followed by set or not set. It does not print the stored values.
If you need machine-readable output, add --json. The output will then include stored values for ordinary fields, but the contents of a secret field are never printed.
Step 2. Change a value using a file
Values are supplied as a JSON object, where each key is a setting name from the manifest and each value is a string without line breaks. The documentation shows a file-based method: write the object to values.json and pass that file to the command's standard input. Here, api_url is the key used in the documentation example. For your own plugin, use the name of the setting you need from its manifest or from the output in step 1.
{"api_url": "NEW_ADDRESS"}
claude plugin configure formatter@my-marketplace --values-stdin < values.json
The following rules apply when saving:
- Settings omitted from the JSON retain their previous values. You can supply only the field you are changing.
- The flag's description refers to setting values in general and does not state a separate rule for secret fields. After saving, use step 1 to check that the relevant field is marked
set. - Claude Code checks each value against its declared type and prints
Configuration saved. Restart Claude Code to apply it.This means the setting has been saved and will take effect after Claude Code restarts. - If the JSON contains a key not declared in the manifest, or a value fails validation, the command saves nothing, prints
Failed to save configuration:followed by the reason, and exits with code1.
If you write a token to values.json, remember that it is an ordinary file on disk. Delete it after saving the configuration, and do not add such a file to the repository.
Where the value is stored
According to the plugin manifest documentation, ordinary values are saved under pluginConfigs in the user's settings.json. Values for fields marked sensitive: true are stored in the system's secure credential store instead of settings.json; input for these fields is masked.
There is no point looking for a secret field's value in settings.json. claude plugin configure shows its status with the labels sensitive and set or not set.
install --config: set a value during installation
For a new installation, claude plugin install provides the --config <key=value> flag. It sets a userConfig setting declared in the manifest and requires v2.1.147 or later. Repeat the flag for each setting. From version 2.1.285, a key in the form <server>.<key> sets a bundled MCP server's setting declared in that server's own user_config.
In the example below, replace formatter@my-marketplace with your plugin's identifier, api_url with the setting name from its manifest, and the entire NEW_ADDRESS placeholder with your own value. Keep the quotation marks around the argument.
claude plugin install formatter@my-marketplace --config 'api_url=NEW_ADDRESS'
Which command to use depends on whether the plugin is installed: install --config sets values during the first installation, while plugin configure --values-stdin changes values for an already installed plugin.
For settings belonging to a bundled MCP server, the documentation lists other methods: plugin install --config or Configure in /plugin. It does not suggest the plugin configure command for those settings.
If the command cannot find the plugin
If claude plugin configure cannot find a loaded plugin with that identifier, it prints No installed plugin has the id "<plugin>". and exits with code 1. First check that you supplied the full name@marketplace identifier from claude plugin list. The plugin name alone is not enough.
The in-session command has its own message. If you name a plugin that is not installed in the current project when using /plugin enable, disable, uninstall or configure, Claude Code prints Plugin "<plugin>" is not installed in this project and does nothing.
Conclusion
To change a token or address for an already installed plugin in Claude Code 2.1.285 or later, find its identifier in claude plugin list, check the settings' status with claude plugin configure, supply the new value from a file with --values-stdin, and restart Claude Code. Secret field values are not stored in settings.json, so check their status using the same command.
The guide to Skills, Subagents, MCP and Plugins in Claude Code can help you choose between extension types. If you have not yet chosen a plugin, you can start with the top 10 Claude Code plugins. There is a separate guide for a Telegram bot: installing a plugin in a Telegram agent works differently from installing one in Claude Code.
Sources
Get to know Ailoot.
More details
Questions about Claude Code: How to Reconfigure an Installed Plugin Without Reinstalling It (2.1.285)
Why does configure say that my installed plugin cannot be found?
Use the complete name@marketplace identifier from claude plugin list, and check that the plugin is installed in the relevant scope. The short plugin name alone is not accepted by this command.
How can I check a changed token without printing it?
Run claude plugin configure with the plugin’s full identifier and check that the sensitive field is marked set. Restart Claude Code after saving; do not commit the JSON input file containing the token.