[BUG] /config dialog is completely non-functional — no setting changes persist, even within the same session
Description
The /config dialog does not persist any setting changes. Pressing Enter toggles the selected option instead of saving and closing the dialog. The only way to dismiss /config is Escape, which discards all changes.
Likely regression in v2.1.181
Two macOS user accounts on the same machine exhibit different behavior:
| Account | Version | Enter key behavior | Settings persist? |
|---------|---------|-------------------|-------------------|
| thymine | v2.1.181 | Toggles the option | No |
| davidfallah | v2.1.179 | Saves and closes dialog | Yes |
This suggests the Enter key handling in /config regressed in v2.1.180 or v2.1.181.
Steps to reproduce
- Install Claude Code v2.1.181 (CLI, macOS)
- Run
/config - Navigate to any toggle (e.g., "Prompt suggestions")
- Press Enter — the option toggles instead of saving/closing
- The only way to close is Escape, which discards changes
- Reopen
/config— all settings are back to defaults
<img width="1200" height="1018" alt="Image" src="https://github.com/user-attachments/assets/ce837593-ca69-4b3a-aa5e-242f07fbc671" />
Expected behavior
Enter should save and close the /config dialog (as it does in v2.1.179).
Workaround
Edit ~/.claude/settings.json directly. The keys used by /config toggles are undocumented but can be found via the schema or by inspecting a working account's settings file. For example:
{
"promptSuggestionEnabled": false
}
Environment
- Claude Code CLI, macOS (Darwin 25.5.0)
- Broken on v2.1.181, works on v2.1.179
- Same machine, different user accounts
3 Comments
Root cause found — user-side keybindings issue, not a Claude Code bug.
A custom
~/.claude/keybindings.jsonthat explicitly defines theSettingscontext can override the default "save and close" behavior. In my case,enterwas bound toselect:accept(toggle) with no binding for save/close, andescapewasconfirm:no(dismiss without saving). This made it impossible to persist changes from/config.Resetting
keybindings.jsonto{}(use defaults) fixed the issue.This could arguably be improved on the Claude Code side — the Settings context should perhaps always include a save/close binding that can't be accidentally omitted, or
/configshould warn when no save binding is configured.Correction: The old keybindings file was generated by Claude Code itself (likely from a previous version or a plugin). It wasn't manually authored — it was a full dump of all contexts (Settings, Confirmation, Select, etc.) that got written at some point and then became stale as Claude Code evolved.
The specific issue: the
Settingscontext in that generated file mappedentertoselect:accept(toggle) with no save/close action, andescapetoconfirm:no(dismiss without saving). So the only exit was Escape, which discarded changes.Resetting to
{ "bindings": [] }(use defaults) fixed it.Suggestion for Claude Code team: Custom keybindings files that explicitly define a context should probably be merged with defaults rather than fully replacing them, so that critical actions like "save and close" can't be accidentally dropped. Alternatively, warn at startup if a keybindings file is missing essential actions for a context.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.