I was thinking maybe the .quit was being treated as the “end” of the command, after which it would read stdin, and a test using .read from a file seems to support that theory, but .print also does not seem to do anything, so there must be more to it than that. > sqlite3 -cmd .print "Hello World" SQLite version 3.31.1 2020-01-27 19:55:54 Enter ".help" for usage hints. sqlite> .print "Hello World" Hello World sqlite> .q