Why does Hamlet hesitate to kill Claudius?
There are a few different ways to answer this question. I assume that most of the time people ask it, they’re referring to III.3 when he catches Claudius at prayer:
Now might I do it pat, now he is praying;
And now I’ll do’t. And so he goes to heaven,
And so am I reveng’d. That would be scann’d.
A villain kills my father; and for that,
I, his sole son, do this same villain send
To heaven.
Why, this is hire and salary, not revenge! [citation]
So the short and easy answer is Hamlet tells us – by killing Claudius at prayer, his soul is clean, and therefore he’d go to heaven. However, this is not a luxury granted to Hamlet’s father, which is why he now roams the earth as a ghost. Hamlet doesn’t feel that this is an even exchange.
You should, however, be saying, “Seriously?” right now. “You set the trap to prove Claudius’ guilt, it worked, now you’re behind him, there’s no witnesses, you could absolutely finish him off. And instead you’re thinking ahead to where he soul ends up?”
That is precisely the whole point of the play. Hamlet’s indecisiveness is all. He can talk himself out of anything. Go back to I.5:
But know, thou noble youth,
The serpent that did sting thy father’s life
Now wears his crown. [citation]
So your father’s ghost appears and says, “I was murdered by the king.” Your first thought is, “I know, I’ll start acting crazy around everybody so they won’t know what I’m up to.”
At least the point has a specific rationale, however. In Amleth, the source material for Hamlet, the hero believes that his life is in danger and decides to pretend that he is an imbecile not to be perceived as a threat to the new king.
In Shakespeare’s version, however, that connection is lost — there’s no reason early in the play to think that Claudius is planning to kill Hamlet (though clearly, he plans to have England do it). So it looks like Hamlet’s just coming up with excuses to delay action.
I’ve always held that his mother’s death, not his father’s, ultimately spurs him into action. The entire play passes without him avenging his father, but it takes just 20 lines of dialogue between his mother’s death (“The drink! I am poison’d.”) and Hamlet’s action (“Follow my mother!”). Some argue that he finally sees his own mortality and knows, from Laertes, that he, too, has been poisoned, and if he does not act now, he will never have the chance. But I’ve always felt that the “Follow my mother” line is a big deal – it’s not as if he mentions his father. Remember his concern over the fate of his father’s soul? How he was not absolved of his sins? Well, now his mother’s met the same fate.