In interact() we currently exit early if we see EOF, without reading more than once from the pipe. This means that if a plugin spits out >256bytes and immediately exits, we will truncate whatever it sends and return only the first 256 bytes.
This doesn't work very well when the recovery template alone is easily bigger than this after base64.