Using haber + past participle for you should/shouldn't have done something

Take the fastest path to fluent Spanish

In Spanish we can express "you should/shouldn't [have done something]", as a reproach, by using this structure:

Haber/No haber + past participle of main verb

For example:

-Qué poco dinero tengo en el banco. -¡Haber ahorrado un poco más!-I hardly have any money in the bank. -You should have saved a bit more!

-Llevo días sin dormir. -¡Habérmelo dicho, hombre! No sabía nada.-I haven't slept in days. -You should have told me, mate! I didn't know.

-No me gusta nada mi trabajo nuevo. -Pues, haberlo pensado mejor antes de decir que sí.-I don't like my new job at all. -Well, you should have thought about it more carefully before saying yes.

-El fontanero me ha cobrado mucho por arreglarme el grifo. -¡Haber llamado a Juan! Es un manitas y super barato.-The plumber charged me a lot for fixing the tap [US: faucet]. -You should have called Juan! He is a handyman and super cheap.

-Me cuesta mucho entender este tema. -¡No haber faltado tanto a clase!-I find this topic very difficult to understand. -You shouldn't have skipped so many classes!

-Cristina, esta noche estás insoportable. -¡No haberme invitado a cenar entonces!-Cristina, you are unbearable tonight. -Then, you shouldn't have invited me to dinner!

It often uses direct and indirect pronouns. Remember that:

  • they are placed immediately after "haber", as part of the same word.
  • If there are two different pronouns, i.e. direct and indirect pronouns, the indirect one goes first, then the direct pronoun:

¡Habérmelo dicho, hombre!
(Lit: You should have told me it.)

me = indirect pronoun; lo = direct pronoun

One way to remember this structure is to see it as a construction where we are omitting the first modal verb: "deberías/deberíais"

For example, the literal translation of:

"You should have told me."

is:

Deberías/deberíais habérmelo dicho. 

You omit "deberías/deberíais" and use the haber + past participle construction:

Deberías/deberíais habérmelo dicho. = ¡Habérmelo dicho!

Bear in mind that sometimes, (more often in Latin America), El Pluscuamperfecto de Subjuntivo may also be used with the same purpose. For example:

-Cristina, esta noche estás insoportable. -¡No me hubieras invitado a cenar entonces!-Cristina, you are unbearable tonight. -Then, you shouldn't have invited me to dinner!

-Llevo días sin dormir. -¡Me lo hubieras dicho, hombre! No sabía nada.-I haven't slept in days. -You should have told me, mate! I didn't know.

 In this case, the pronouns are placed in front of "hubiera/hubiese".

 See also How to say "must have [done something] in Spanish with the verb deber

Want to make sure your Spanish sounds confident? We’ll map your knowledge and give you free lessons to focus on your gaps and mistakes. Start your Brainmap today »

Examples and resources

-No me gusta nada mi trabajo nuevo. -Pues, haberlo pensado mejor antes de decir que sí.-I don't like my new job at all. -Well, you should have thought about it more carefully before saying yes.
-El fontanero me ha cobrado mucho por arreglarme el grifo. -¡Haber llamado a Juan! Es un manitas y super barato.-The plumber charged me a lot for fixing the tap [US: faucet]. -You should have called Juan! He is a handyman and super cheap.
-Me cuesta mucho entender este tema. -¡No haber faltado tanto a clase!-I find this topic very difficult to understand. -You shouldn't have skipped so many classes!
-Llevo días sin dormir. -¡Habérmelo dicho, hombre! No sabía nada.-I haven't slept in days. -You should have told me, mate! I didn't know.
-Qué poco dinero tengo en el banco. -¡Haber ahorrado un poco más!-I hardly have any money in the bank. -You should have saved a bit more!
-Cristina, esta noche estás insoportable. -¡No me hubieras invitado a cenar entonces!-Cristina, you are unbearable tonight. -Then, you shouldn't have invited me to dinner!
-Cristina, esta noche estás insoportable. -¡No haberme invitado a cenar entonces!-Cristina, you are unbearable tonight. -Then, you shouldn't have invited me to dinner!
-Llevo días sin dormir. -¡Me lo hubieras dicho, hombre! No sabía nada.-I haven't slept in days. -You should have told me, mate! I didn't know.
Thinking...