I hate flat out replacing exceptions in the call stack: you potentially lose valuable debugging information.

Perhaps override __init__ to take the original KazooTimeoutError and expose it via an attribute? That will get exposed via tools like sentry whereas right now the original exception will just be thrown away.

(Python3 fixes this with chained exceptions - yay!)