Problem
After PR #689 merged (userConfig for secure token storage), the plugin fails validation:
❯ userConfig.github_token.type: Invalid option: expected one of "string"|"number"|"boolean"|"directory"|"file"
❯ userConfig.github_token.title: Invalid input: expected string, received undefined
The userConfig.github_token entry in .claude-plugin/plugin.json is missing two required fields: type and title.
Root Cause
The official Claude Code docs show the old schema (just description + sensitive), but the runtime validator now requires type and title as well. This was confirmed via Anthropic's own PR #831.
Fix
Add the two missing fields:
"userConfig": {
"github_token": {
"title": "GitHub Token",
"type": "string",
"description": "...",
"sensitive": true
}
}
Research
thoughts/shared/research/2026-03-25-userconfig-manifest-schema-validation.md
Problem
After PR #689 merged (userConfig for secure token storage), the plugin fails validation:
The
userConfig.github_tokenentry in.claude-plugin/plugin.jsonis missing two required fields:typeandtitle.Root Cause
The official Claude Code docs show the old schema (just
description+sensitive), but the runtime validator now requirestypeandtitleas well. This was confirmed via Anthropic's own PR #831.Fix
Add the two missing fields:
Research
thoughts/shared/research/2026-03-25-userconfig-manifest-schema-validation.md