Skip to content

fix(update): rename exe on Windows instead of detached process#47

Merged
jrob5756 merged 2 commits intomainfrom
fix/windows-update-rename
Mar 17, 2026
Merged

fix(update): rename exe on Windows instead of detached process#47
jrob5756 merged 2 commits intomainfrom
fix/windows-update-rename

Conversation

@jrob5756
Copy link
Collaborator

Summary

  • Replace the detached Popen approach with a rename-before-update trick for Windows conductor update
  • Rename conductor.execonductor.exe.old before calling uv tool install, freeing the file lock so uv can write the new binary
  • Update now runs synchronously on Windows with full output, identical to the Unix path
  • Restores original exe on failure, cleans up stale .old files from previous updates

Test plan

  • make lint passes
  • make typecheck passes
  • uv run pytest tests/test_cli/test_update.py -v — all 57 tests pass
  • uv run pytest — full suite passes (1748 passed)
  • Test on Windows via test/windows-update-fix branch

🤖 Generated with Claude Code

Jason Robert and others added 2 commits March 17, 2026 14:04
Replace the detached Popen approach with a rename-before-update trick:
rename conductor.exe to conductor.exe.old before calling uv tool install.
Windows allows renaming running executables, freeing the original path
for uv to write the new binary. This gives full synchronous output
identical to the Unix path, instead of silent background execution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use importlib.metadata.version() so __version__ always matches
pyproject.toml. Fixes version showing 0.1.0 after updating to 0.1.1.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jrob5756 jrob5756 merged commit 7169bbe into main Mar 17, 2026
6 checks passed
@jrob5756 jrob5756 deleted the fix/windows-update-rename branch March 17, 2026 19:36
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