[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

  1. Run skill-creator on Windows
  2. At the description optimization step, run_loop.py calls run_eval.py for each query
  3. Every query returns: Warning: query failed: [WinError 10038] Une operation a ete tentee sur autre chose qu'un socket
  4. 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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗