/plugin Configure UI: Tab and Enter don't advance between userConfig fields
Environment
- Claude Code version:
2.1.112 - OS: macOS (Darwin 25.3.0)
- Shell: zsh
What's happening
When configuring an installed plugin with multiple userConfig fields, neither Tab nor Enter advances past the first field. The UI shows "Field 1 of 18" and the footer reads Tab: Next field · Enter: Save and continue, but pressing either key on the first field (a required type: "string" + sensitive: true API key) keeps focus on field 1.
Steps to reproduce
- Install a plugin whose
plugin.jsondeclares >1userConfigfield with one required:
- Repo: https://github.com/sherifButt/claude-image-tts-gen (v0.7.4, 18 userConfig fields, 1 required)
/plugin marketplace add sherifButt/claude-image-tts-gen/plugin install claude-image-tts-gen@claude-image-tts-gen-marketplace
- Install prompt correctly shows only the required field (
gemini_api_key). Fill it. Install completes. - Navigate:
/plugin→ Installed →claude-image-tts-gen→ Configure. - Configure screen opens showing "Field 1 of 18", cursor on the Gemini API Key field.
- Paste any string into the field.
- Press
Tab→ nothing happens; cursor stays on field 1. - Press
Enter→ nothing happens; cursor stays on field 1.
Expected
Per the on-screen help (Tab: Next field · Enter: Save and continue), one of:
Tabadvances to Field 2 of 18Entersaves the current field and advances to the nextEntersaves and closes the form, committing all 18 values (17 empty → defaults)
Actual
Neither key navigates. Only Escape works (cancels without saving). The form is effectively a dead-end for optional fields — the only way to set non-required userConfig values is by editing ~/.claude/settings.json directly.
Reference plugin.json
https://github.com/sherifButt/claude-image-tts-gen/blob/v0.7.4/.claude-plugin/plugin.json
Workaround
For non-sensitive fields: edit ~/.claude/settings.json manually, adding pluginConfigs.<plugin-id>.options entries. Sensitive fields have no known workaround since they require keychain writes.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗