[BUG] skill-creator: run_eval.py crashes on Windows with WinError 10038 (select on pipe)
Resolved 💬 3 comments Opened Apr 7, 2026 by 40tude Closed Apr 10, 2026
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
run_eval.py uses select.select([process.stdout], [], [], 1.0) to read from a subprocess pipe. On Windows, select() only works on sockets — not on file handles or pipes — so every query evaluation fails with WinError 10038.
What Should Happen?
On Windows, use a threading.Thread + queue.Queue to read subprocess output instead of select().
Error Messages/Logs
Steps to Reproduce
- Run skill-creator on Windows
- At the description optimization step, run_loop.py calls run_eval.py for each query
- Every query returns: Warning: query failed: [WinError 10038] Une operation a ete tentee sur autre chose qu'un socket
- All trigger evaluations fail, producing meaningless scores
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.92
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
Windows 11 Pro 10.0.26200
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗