Repository navigation
merge(install): install the hook binary on Windows - #2
Merged
Merged
Conversation
LittleCoinCoin
force-pushed
the
task/win-install
branch
from
October 30, 2026 11:00
6d420a2 to
4f66060
Compare
LittleCoinCoin
force-pushed
the
task/win-install
branch
from
October 30, 2026 11:08
4f66060 to
5a45a9f
Compare
Claude Code's exec form on Windows needs a real executable, so the eight
binary hook rows now exec ${CLAUDE_PLUGIN_DATA}/bin/murmuration.exe on every
OS. The stamp becomes murmuration.exe.verified; version 0.2.0 keeps
bin/murmuration and bin/.verified in the shared data folder, and the two
versions no longer overwrite each other's files. TARGETS gains Windows
AMD64. Windows has no launcher (a POSIX script), so its doubt branch
removes the binary instead of writing one. The three Python rows are
unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
install_smoke now runs on windows-latest too, with a python3.exe copy of the runner's Python on PATH (the documented requirement). Every row reads hooks.json and spawns the SessionStart install row and one PreToolUse Agent budget row the way Claude Code does: exec form, no shell, placeholders replaced by native paths, plugin variables set. It asserts empty install stdout, the murmuration.exe.verified stamp, a murmuration.exe equal to the CI artefact, and a budget exit of 0; each spawn prints its argv, exit code and output. assemble now requires the Windows artefact, and the Windows build row runs check_text_io.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nobody should read the next release as live-tested on Windows. The plugin description and both banners say Windows is tested in CI only, with no live session yet, and both Requirements sections name the Windows requirement of a real python3 on PATH. version is untouched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
LittleCoinCoin
force-pushed
the
task/win-install
branch
from
October 30, 2026 11:14
5a45a9f to
a1bf47c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Makes the plugin installable on Windows as far as CI can show. Stacked on the lifecycle PR; merging this one makes CI cut 0.3.0.
What changes
hooks.json: the 8 binary rows exec${CLAUDE_PLUGIN_DATA}/bin/murmuration.exeon every OS (the documented Windows exec form). The 3 Python rows are byte-identical to 0.2.0.install_binary.py: Windows AMD64 target; the binary and its stamp aremurmuration.exeandmurmuration.exe.verified, so 0.2.0 sessions sharing the data folder are untouched; on Windows a doubtful install removes the binary instead of writing a POSIX launcher; the self-test masks only the random lab folder name, so escaped and non-ASCII Windows paths compare equal; a failed replace no longer leaks its temporary copy.budget.py: self-tests expect the.exename. Hashed, so CI rebuilds the binaries.guard-binaries.ymljob bodies:assemblerequires every target, Windows included;install_smokegains windows-latest and replays the install row and a budget row fromhooks.jsonwithout a shell, with paths containing spaces; actions pinned by SHA.python3on PATH (the Store stub does not count).Not proven here: a live Windows session (reminder
murmuration-win-live, roadmap leaflive_session).Roadmap:
__roadmap__/windows_install/next/next/next/install.md. Reviewed by an adversarial verifier.🤖 Generated with Claude Code