I wonder which tense should be use in this case:
a) When Columbus arrived in America he thought he is in India.
b) When Columbus arrived in America he thought he was in India
I guess both are fine, or am I wrong?
Given that verbs "arrived" and "thought" are all clearly past tense, there is no reason to change the tense to present. Moreover, Columbus clearly cannot be doing anything in the present tense. As a result, "was" is the correct choice.
It is like reported speech, but with 'thought' instead of 'said': Columbus thought "Hey, I am in India" => Columbus thought he was in India. One tense back in the reported sentence.