As discussed with @vieux offline: `push` has a specific protocol for multiplexing progress bars (ie simultaneous downloads). It needs to support displaying a different status message for each progress bar, so status message needs to be sent as part of that protocol - which uses stdout :)

In the future once we upgrade the remote API to a common multiplexing protocol, `push` can just use that.