If 'less' is quit ('q') in the first page where input comes from bitbake -e, the following error occurs: $ bitbake -e | less Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'> BrokenPipeError: [Errno 32] Broken pipe Seems that the errno.EPIPE should be caught somewhere instead of passing it to the console.
If less quits, bitbake loses its stdout. Its reasonable it prints a pipe error at this point which is what a standard commandline utility would do. The alternative is to silently swallow an error when stdout has disappeared and we still have output which seems worse to me so I don't think we can improve this as described.