/plugin Configure UI: Tab and Enter don't advance between userConfig fields

Resolved 💬 3 comments Opened Apr 21, 2026 by sherifButt Closed Apr 25, 2026

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

  1. Install a plugin whose plugin.json declares >1 userConfig field with one required:
  1. Install prompt correctly shows only the required field (gemini_api_key). Fill it. Install completes.
  2. Navigate: /plugin → Installed → claude-image-tts-gen → Configure.
  3. Configure screen opens showing "Field 1 of 18", cursor on the Gemini API Key field.
  4. Paste any string into the field.
  5. Press Tab → nothing happens; cursor stays on field 1.
  6. Press Enter → nothing happens; cursor stays on field 1.

Expected

Per the on-screen help (Tab: Next field · Enter: Save and continue), one of:

  • Tab advances to Field 2 of 18
  • Enter saves the current field and advances to the next
  • Enter saves 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗