@dnkl when I implemented the pinentry protocol, first I copied the messages sent by the "official" pinentry implementations bit-for-bit. It did not work. Then I tried following the protocol spec, which did end up working, kinda. However this means the official ones are doing it wrong, but somehow still work in a way I could not reproduce nor did I ever figure out why they are allowed to do it wrong while my program gets killed by gpg-agent.