/config freezes on second invocation in same session

Resolved 💬 2 comments Opened Apr 12, 2026 by oavelino39 Closed Apr 12, 2026

Bug Description

Running /config for the second time in the same session causes the TUI to freeze. The config dialog renders but becomes completely unresponsive — no keyboard input is accepted, and the dialog cannot be dismissed.

Steps to Reproduce

  1. Start Claude Code (claude)
  2. Type /config — the config dialog opens normally
  3. Dismiss the dialog (press Esc or select a setting)
  4. Type /config again — the dialog renders but freezes

Reproduced 5+ times consistently.

Environment

  • Claude Code: v2.1.104
  • macOS: 26.4.1 (Build 25E253), Apple Silicon (arm64)
  • Terminal: Warp v0.2026.04.08.08.36.stable_02
  • Node.js: v24.13.1
  • Shell: zsh

Diagnostic Isolation

Systematically ruled out user-side causes:

| Eliminated | Method | Result |
|---|---|---|
| Custom statusLine command | Removed from settings.json, restarted | Still freezes |
| Plugins (17 enabled → 0) | Set all enabledPlugins to false, restarted | Still freezes |
| Adaptive wrapper script | Bypassed via CC_WRAPPER_DISABLE=1, direct binary invocation | Still freezes |
| Hooks (PreToolUse/PostToolUse) | Hooks only fire on tool use, not slash commands | N/A (ruled out by design) |

The freeze occurs with a completely default config and direct binary invocation, confirming it is an internal TUI bug.

Expected Behavior

/config should open and dismiss cleanly on every invocation within a session.

Likely Cause

The config dialog's TUI component (likely Ink-based) does not fully release terminal state (raw mode, signal handlers, or React component unmount cleanup) after the first dismissal, causing the second invocation to deadlock on terminal I/O.

Screenshot

The second /config invocation renders the settings list but accepts no input:

<img width="1154" height="732" alt="Image" src="https://github.com/user-attachments/assets/076e349a-c8de-4f71-95b0-9c385bdd6fab" />

(Config dialog visible but unresponsive on second invocation)

View original on GitHub ↗

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