This bit is where a lot of character analysis goes a little bit bananas. Those who believe Hamlet to be too hesitant, too wishy-washy or INDECISIVE as they usually say – use this speech as evidence.
“He ought,” they usually say,” to have killed Claudius outright in this moment when he gets the opportunity.”
They say, “He knows he’s guilty now. Why does he pause?”
They see Hamlet’s explanation for NOT killing him now as a convenient excuse. And then the final evidence is the fact that Claudius’ prayers have been ineffective.
“See,” they say, “He should have killed him here.”
But while it is a convenient moment to kill Claudius, I think we have to take Hamlet at his word. As far as Hamlet knows, Claudius is in the midst of getting absolved. As far as Hamlet knows, killing Claudius now is actually a terrible idea – given his worldview. If he is well and truly after revenge in a world where hell is real – he truly would believe that he’d be sending his murderous uncle to heaven.
For many contemporary viewers of this play, hell is an abstract concept that doesn’t pack a real emotional punch. So Hamlet’s concern about sending his uncle to heaven instead of hell doesn’t seem legitimate.
But – a little cultural anthropology is useful to apply to this moment. To try and see this from the actor’s point of view and also the views of a lot of the audience. Sure, it is ironic that, with this worldview, he could have killed him and still sent him to hell despite the appearance otherwise – but that irony packs no punch at all unless you can believe that killing him while praying would send the murderer to heaven.
You can’t really have both things- a Hamlet who’s just using the praying as an excuse and an ironic end to the scene. But that’s how a lot of people see it. They see the end at the beginning and discount the character’s very real concerns of heaven and hell.