Thought it might be that, but the problem still exists if I do something else that takes a long time. In my real world application I'm having issues with, I'm calling an external Python script with backticks.
Comment on Re^2: AnyEvent code blocking Twiggy event loop
Maybe now is a good time to understand how nonblocking operations work and what the process model of AnyEvent and Twiggy is?
Also see AnyEvent::Open3::Simple, but personally, I would just launch the other script as a detached process that writes its output to a logfile and then tail that logfile.