Skip to content

fix(windows): drop duplicate creationflags kwarg in LocalEnvironment run_bash#29059

Merged
jquesnelle merged 1 commit into
mainfrom
jq/fix-windows-creationflags-collision
May 20, 2026
Merged

fix(windows): drop duplicate creationflags kwarg in LocalEnvironment run_bash#29059
jquesnelle merged 1 commit into
mainfrom
jq/fix-windows-creationflags-collision

Conversation

@jquesnelle

Copy link
Copy Markdown
Collaborator

Commits 8bf0945 (Grogger, explicit creationflags=) and 95683c0 (nekwo, **_popen_kwargs via windows_hide_flags()) landed 77 minutes apart and both injected creationflags into the same subprocess.Popen call. nekwo's commit correctly replaced the explicit line in tools/process_registry.py but only added the kwargs spread in tools/environments/local.py -- leaving creationflags specified twice.

Result on Windows: every LocalEnvironment.init_session() raised "subprocess.Popen() got multiple values for keyword argument 'creationflags'" and fell back to bash -l per command (much slower -- bashrc runs on every shell invocation).

Drop the explicit line so **_popen_kwargs is the single source.

…_run_bash

Commits 8bf0945 (Grogger, explicit creationflags=) and 95683c0
(nekwo, **_popen_kwargs via windows_hide_flags()) landed 77 minutes
apart and both injected creationflags into the same subprocess.Popen
call. nekwo's commit correctly replaced the explicit line in
tools/process_registry.py but only added the kwargs spread in
tools/environments/local.py -- leaving creationflags specified twice.

Result on Windows: every LocalEnvironment.init_session() raised
"subprocess.Popen() got multiple values for keyword argument
'creationflags'" and fell back to bash -l per command (much slower --
bashrc runs on every shell invocation).

Drop the explicit line so **_popen_kwargs is the single source.
@github-actions

Copy link
Copy Markdown
Contributor

🔎 Lint report: jq/fix-windows-creationflags-collision vs origin/main

ruff

Total: 0 on HEAD, 0 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 8973 on HEAD, 8974 on base (✅ -1)

🆕 New issues: none

✅ Fixed issues (1):

Rule Count
unresolved-attribute 1
First entries
tools/environments/local.py:535: [unresolved-attribute] unresolved-attribute: Module `subprocess` has no member `CREATE_NO_WINDOW`

Unchanged: 4730 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

@alt-glitch alt-glitch added type/bug Something isn't working P1 High — major feature broken, no workaround backend/local Local shell execution duplicate This issue or pull request already exists labels May 20, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Duplicate of #28898 — identical fix (removing duplicate creationflags kwarg in local.py). See also #29028 (another duplicate).

@jquesnelle jquesnelle merged commit 62713c8 into main May 20, 2026
20 of 21 checks passed
@jquesnelle jquesnelle deleted the jq/fix-windows-creationflags-collision branch May 20, 2026 04:25
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…s-creationflags-collision

fix(windows): drop duplicate creationflags kwarg in LocalEnvironment run_bash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend/local Local shell execution duplicate This issue or pull request already exists P1 High — major feature broken, no workaround type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants