It happens that col.names="none" suppresses printing of data.table completely, using default "auto" prints data.table, but goal is to print it without headers.
d = data.table(c1 = 1:2, c2 = letters[1:2])
print(d, nrows = Inf, class = FALSE, row.names = FALSE, show.indices = FALSE, print_keys = FALSE, col.names = "none")
## should print!
print(d, nrows = Inf, class = FALSE, row.names = FALSE, show.indices = FALSE, print_keys = FALSE, col.names = "auto")
# c1 c2
# 1 a
# 2 b
packageVersion("data.table")
#[1] ‘1.18.99’
It happens that col.names="none" suppresses printing of data.table completely, using default "auto" prints data.table, but goal is to print it without headers.