You know that moment — “The process cannot access the file because it is being used by another process.” Which process? Windows won’t tell you. handle.exe requires a separate download and admin rights. whoholds myapp.dll just tells you.
Works for ports too: whoholds :8080 shows what’s binding it. Pipe the PIDs to kill them: whoholds myfile --pid-only | xargs kill. Cross-platform — wraps lsof on Linux/macOS. Ships as a single native AOT binary, no .NET runtime needed.
Built because the “file is locked” error is one of the most common and frustrating developer experiences on Windows, and the existing answer (“go download Sysinternals handle.exe and run it as admin”) is absurd for something the OS already knows. Part of Winix, a suite of cross-platform CLI tools for the gaps between Windows and *nix.