Except anyhow is compatible in that direction. io::Error and thiserror types will automatically convert to anyhow errors.
Not the end of the world but I do think defending the proliferation of error types in typical Rust projects is copium.
There are plenty of reasons you can complain about Rust's error handling, but "proliferation of error types" feels like a misunderstanding of how Rust error handling works in the first place.