What Is Should Have / Shouldn't Have?
We use should have and shouldn't have + past participle to talk about the past. It's a way of criticizing a decision or expressing regret about something that did or didn't happen.
Subject + should(n't) + have + past participle
You should have called me before you left.
She shouldn't have stayed up so late.
Should Have (something didn't happen)
Use should have + past participle to say that something was the right thing to do, but it didn't happen. We use it to point out a mistake or express regret.
I should have brought an umbrella.
→ I didn't bring one, and it rained.
We should have left earlier.
→ We left late and missed the bus.
He should have studied for the test.
→ He didn't study, and he failed.
Shouldn't Have (something did happen)
Use shouldn't have + past participle to say that something happened, but it was the wrong choice. The action did take place, and we're criticizing it.
He shouldn't have shouted at his sister.
→ He did shout — that was wrong.
They shouldn't have spent all their money.
→ They did spend it all.
I shouldn't have eaten so much pizza.
→ I did eat too much, and now I feel sick.
Positive, Negative and Question Forms
Positive: You should have told me sooner.
Negative: You shouldn't have told him the secret.
Question: Should you have told her the truth?
Short answer: Yes, I should have. / No, I shouldn't have.
Common Mistakes
⚠ Common mistakes:
✗ You should have study harder. → ✓ You should have studied harder. (use the past participle, not the base form)
✗ He should has left already. → ✓ He should have left already. (always use 'have', never 'has' or 'had')
✗ She shouldn't have went to the party. → ✓ She shouldn't have gone to the party. (use the past participle, not the simple past)