Keep in mind that shlex implements a shell-like tokenizer, not an actual shell tokenizer, let alone a shell parser, which is what actually identifies lines as constructs consisting of multiple tokens.
that will still parse it same as an argument of one newline, so i think i’ll still just split on lines, because i’ll have a clear error if an input is not working properly