Skip to content

[Windows] Interactive TUI auto-skips selections without user input #3374

@thomasthzh

Description

@thomasthzh

Description

On Windows 11, running forge in PowerShell/Git Bash causes the TUI to automatically skip selection menus and jump to the next step without waiting for user input.

Specific behaviors observed

  1. Default provider fallback: When no provider is configured, forge does not show an interactive provider selection menu. Instead, it immediately falls back to the first provider in the list (AdaL) and prompts for its API key.

  2. Auto-skipping within interactive session: Inside the TUI, when a selection prompt appears (e.g., choosing a token platform after entering a provider API key), Forge automatically selects the first option and proceeds without user confirmation.

  3. Provider login menu: Running forge provider login (without specifying a provider ID) also skips the interactive provider picker and jumps directly to the first provider's authentication flow.

Environment

  • OS: Windows 11 (Build 26200.8457)
  • Forge version: 2.12.15
  • Terminals tested: Windows PowerShell, Git Bash, WezTerm, Alacritty
  • Node.js: v24.11.0

Steps to reproduce

  1. Fresh install ForgeCode on Windows: npm install -g forgecode@latest
  2. Ensure no provider is configured: forge config get provider should return Not set
  3. Run forge
  4. Expected: Interactive menu to select a provider
  5. Actual: Immediately prompts for AdaL API key

Additional context

  • The issue appears to be related to how the TUI handles input events on Windows, possibly in the nucleo-picker-based selection components (refactored in v2.12.10).
  • Release notes show recent Windows-specific fixes (fix(select): skip selector keyboard on windows in v2.12.12), but this auto-skip behavior persists.
  • Non-interactive mode (forge -p) works fine as a workaround.

Metadata

Metadata

Assignees

No one assigned

    Labels

    os: windowsWindows-specific issue or feature.type: bugSomething isn't working.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions