Answer:
One of the reasons is because he doesn't want him to go to heaven, which is ironic because Claudius is not actually praying but becoming aware of his sin, so he would not have gone to heaven in Hamlet had killed him anyway. However, Hamlet does not actually want to kill Claudius along the play because he is not a murderer - he is a refined, well-educated prince and killing is not in his essence.