When Parashurama himself acted outside of his varna, why did he curse Karna for doing the same thing?
Podcast:
Parashurama was angry with Karna. Although Parashurama was born a Brahmana, he acted like a Kshatriya. His anger toward Karna was not because Karna aspired to be a Kshatriya, but because Karna had concealed the truth.
The issue was not with someone aspiring to a different varna than the one they were born into—after all, sometimes people are born in a particular varna but possess the nature of another. Exceptions do exist.
The Bhagavatam, in a previous chapter, describes why Parashurama, though born in a Brahmana family, had Kshatriya-like tendencies. This was due to how the offerings for having a child were exchanged between Ruchika’s wife and her mother, leading to Parashurama inheriting a Kshatriya disposition despite his Brahmana lineage.
In Karna’s case, we know that he was born before Kunti was married, and because of the social stigma, Kunti abandoned him. As a result, he was raised in a Sūdra family, even though he was born as a Kshatriya. So his external social identity differed from his inner disposition.
However, the central issue was not his desire to become a Kshatriya. The problem was that Karna lied.
It wasn’t Karna’s Kshatriya aspiration that Parashurama disapproved of—it was his deception. Karna pretended to be a Brahmana to receive training from Parashurama.
Karna had earlier been rejected by Dronacharya, who trained only Kshatriyas. Karna knew Parashurama also wouldn’t train him if he said he was a Kshatriya, and definitely not if he said he was a Sūdra. So, he falsely claimed to be a Brahmana.
Parashurama was angered by this deceit. That lie was the problem, and that’s why he cursed Karna—not immediately stripping him of his abilities, but declaring that, just as Karna had been untrue to him, the divine powers he had received would be untrue to him. In other words, they would fail him at the moment he needed them most.