https://bugs.winehq.org/show_bug.cgi?id=45039
--- Comment #2 from M.K. mk+winehq1803@pimpmybyte.de --- In case someone else has this problem and didn't read the gist: My current workaround is to pipe cat into my program, thus providing a pipe as stdin instead of a TTY.
cat | wine shout.exe |& tee shout.log
When wine exits, cat won't know about it immediately; it takes another write attempt for cat to discover that wine has gone away. In my case this has the effect that I can enter one more line of text than the wine program reads; cat then silently discards that line and exits, too. Another way to quit is to close cat's input stream, e.g. by pressing Ctrl+d.