Quando declarado explicitamente, o limite é 1.000, ou seja:
select * from the_table where id in (1, 2, ..., 1000)
Isso está na documentação sobre a condição IN :
Quando não declarado explicitamente, não há limite:
select * from table1 where id in ( select id from table2 )
Embora útil, geralmente há maneiras melhores de passar tantos ou mais valores para um SELECT. Pode valer a pena considerar uma tabela de referência de alguma descrição ou JOIN.
Veja também: