A scan of my machine, 38 hours after boot, found a next dev server that had held port 3001 for 35 hours with nothing connected to it. An ng serve had sat idle for 11 hours. Around them were 20 bare tail.exe , grep.exe and sh.exe rows in Task Manager, with nothing to say which project they belonged to.
All of them came from my Claude Code sessions: dev servers, tail -f watchers on task output files, small scripts. The sessions had ended and the processes kept running. There's an upstream issue about it, #62659 , and a bot closed it as not planned.
So I wrote Sweepling , a Windows tray app that notices these leftovers and closes them once you confirm.
Why this is a Windows problem
On Linux an orphan is adopted by init or a subreaper, and a cleanup tool can end a whole process group in one call. cc-reaper does this well on macOS and Linux.
Windows does neither. When a parent exits, its children keep running and keep the dead parent's PID in their own process record.…