Why this matters
Sooner or later you need to talk about the past with feeling: regret, blame, relief, or a guess. 'I should have studied more.' 'She must have missed the bus.' 'You could have hurt yourself!' These modal perfect forms let you look back and comment on what happened or what did not happen. They appear constantly in real conversation, films, and songs.
Without this pattern, you can only report past facts: 'I didn't call.' With it, you can add your judgement: 'I should have called.' That small difference is how people apologise, give feedback at work, and explain mysteries. It makes your English sound mature and human.
How it works
The form is one fixed machine with three parts: modal + have + past participle. 'She should have asked.' 'They must have left.' 'He might have forgotten.' Two things never change: the word have (never 'has' or 'had', even with he or she) and the past participle at the end (gone, seen, taken, called). In fast speech, have shrinks to a weak sound like 'of' — 'should've', 'must've' — which is why some people wrongly write 'should of'. Always write 'should have'.
Now the meanings, one modal at a time. Should have + participle expresses regret or criticism about the past: the right action did not happen. 'I should have booked earlier' means I did not book earlier, and that was a mistake. The negative flips it: 'You shouldn't have shouted' means you did shout, and it was wrong.
Must have and can't have make deductions about the past, just like must and can't make deductions about now. 'The ground is wet; it must have rained' means I am almost sure it rained. 'She can't have taken your keys; she was with me all day' means I am sure she did not. Might have, may have, and could have mark past possibility: 'He might have gone home early; I don't see his coat.'
Could have has a second job: a past chance that was not taken, or a lucky escape. 'We could have won, but we stopped trying.' 'You could have fallen off that ladder!' Compare it with the simple past: 'We didn't win' only reports; 'We could have won' adds the lost possibility. Needn't have + participle says an action happened but was unnecessary: 'You needn't have cooked; I already ate.'
To choose the right form, ask two questions. Is my comment about the past? If yes, you need have + participle after the modal. What is my attitude — regret (should have), confident guess (must have), possibility (might have), missed chance (could have), or impossibility (can't have)? Pick the modal that matches, and keep the machine intact: modal + have + participle, every time.
Examples (14)
1. I should have set two alarms this morning.
Regret: the speaker did not set two alarms, and now is sorry.
2. You shouldn't have paid full price; there was a discount code.
Criticism of a past action that did happen.
3. The streets are white; it must have snowed overnight.
A confident deduction about the past from present evidence.
4. She can't have finished the whole book in one hour.
'Can't have' says a past event was impossible.
5. They might have taken the earlier train.
'Might have' offers one possible explanation, without certainty.
6. He may have left his phone at the restaurant.
'May have' works like 'might have' for past possibility.
7. We could have missed the flight, but we ran.
'Could have' describes a danger that luckily did not happen.
8. You could have told me the meeting was cancelled!
'Could have' here complains about a missed chance to act.
9. I must have deleted the email by mistake.
The speaker deduces their own past action from a clue.
10. She should have seen a doctor about that cough sooner.
Advice about the past that was not followed.
11. You needn't have brought a gift, but thank you!
'Needn't have' means the kind action happened but was not necessary.
12. Someone must have watered the plants while we were away.
Past deduction with 'must have' plus the participle 'watered'.
13. He might not have received my message yet.
Negative possibility about the past: maybe it did not happen.
14. I shouldn't have eaten that third slice of cake.
A light, everyday regret with 'shouldn't have eaten'.
Common mistakes
The most common error is dropping have: 'You should called earlier', 'He must forgot'. The modal cannot connect to a past form directly; have is the bridge that carries the past meaning. Wrong: 'You should called earlier.' Right: 'You should have called earlier.' If your sentence looks back at the past, check that have sits between the modal and the participle.
The second error comes from listening: because 'should have' sounds like 'should of', learners write 'I should of known' or say 'shoulda' and then build wrong forms from it. The contraction is 'should've', and the full form is 'should have'. Wrong: 'They must of left.' Right: 'They must have left.' Also keep have frozen: 'She should have gone', never 'She should has gone' or 'She should had gone.'
A third error is using the base verb or the -ing form instead of the past participle: 'She must have take the bus', 'I should have going home'. The third slot needs the participle: taken, gone, seen, written. Wrong: 'She must have take the bus.' Right: 'She must have taken the bus.' Learn the participles of common irregular verbs; this pattern uses them constantly.
Quick tips
- The machine is fixed: modal + have + past participle, in that order.
- Have never changes: 'she should have', not 'she should has'.
- Write 'should have' or 'should've', never 'should of'.
- Should have = regret or criticism; the action did not happen.
- Must have = sure it happened; can't have = sure it didn't; might have = maybe.
- Could have = a chance or danger in the past that did not become real.