Pipes and @CONSOLEB

V24 (v23 is similar) and Win10/64. See below. FINDSTR works in a pipe. After switching to a new console screen buffer and returning, FINDSTR no longer works in a pipe. FINDSTR is not special; the same thing (namely nothing) happens with various versions of GREP and anything else used in a pipe.. On Win7/32, some (not all) programs used in the pipe cause conhost.exe to crash with a message (or just disappear).

v:\> echo foo | findstr foo

v:\> type buffertest.btm
set oldbuffer=%@consoleb[-1]
set newbuffer=%@consoleb[0]
echo %@consoleb[%oldbuffer]
echo %@fileclose[%newbuffer]

v:\> buffertest.btm

v:\> echo foo | findstr foo

Try it with build 21.
It seems to be fixed.

That explains a few years of the occasional unexplained failing of pipes. My plugins use an alternative console screen buffer (via @CONSOLEB) to display F1 and Ctrl-F1 help. I never before made the connection between using that mechanism and the subsequent failing of pipes.