skill-creator: run_loop.py fails on Windows with socket error in claude -p subprocess
Bug
The skill-creator plugin's run_loop.py / run_eval.py scripts fail on Windows when spawning claude -p subprocesses. The eval phase uses claude -p to test whether a skill triggers for a given query, but on Windows the subprocess crashes with:
[WinError 10038] An operation was attempted on something that is not a socket
Additionally, there's a secondary encoding issue:
UnicodeEncodeError: 'charmap' codec can't encode character '\u2717' (cp1252)
Steps to reproduce
- On Windows, run:
````
python -m scripts.run_loop --eval-set eval.json --skill-path my-skill --model claude-opus-4-6 --max-iterations 5
- The script spawns multiple
claude -pprocesses via multiprocessing - Socket error occurs during subprocess communication
Expected behavior
run_loop.py should work on Windows, since Claude Code itself runs on Windows and claude -p works fine when invoked directly from the command line.
Workaround
Run the optimization on a macOS or Linux machine instead. The encoding issue can be mitigated with PYTHONUTF8=1, but the socket error has no known workaround.
Environment
- Claude Code v2.1.73
- Windows 11 (cp1252 default encoding)
- Python 3.12
- Model: claude-opus-4-6
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗