Skip to content

Preserve Windows shell executable arguments - #25

Merged
askac merged 1 commit into
mainfrom
fix/windows-shell-argv
Sep 12, 2026
Merged

askac merged 1 commit into
mainfrom
fix/windows-shell-argv

Conversation

@askac

@askac askac commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Why

Windows discovers executable paths such as C:\Program Files\PowerShell\7\pwsh.exe. Passing the display string to pywinpty splits that path at spaces and prevents the local terminal from starting.

What changed

  • Pass the configured command as argv to each existing Windows spawn fallback, treating a legacy string as one executable path.
  • Preserve the public config shape, shell selection order, POSIX behavior and display labels.
  • Release Core 2.12.1 with regression coverage for executable paths, arguments, legacy signatures and non-signature errors.

Testing

The regression cases fail before the fix and all 11 terminal read/spawn tests pass afterward. Real Windows with pywinpty 3.0.5 reproduces the truncated executable lookup before the fix and completes shell I/O from a path containing spaces afterward. The full headless suite passes. Desktop GUI focus/input validation remains a separate release gate.

@askac
askac merged commit 1838d76 into main Sep 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant