Skip to main content

B2 · Theory

The Spanish perfect and pluperfect subjunctive: haya hecho, hubiera hecho

The perfect and pluperfect subjunctive talk about an earlier event with doubt, feeling or wish: **No creo que haya llegado** ("I don't think he has arrived"), **No creía que hubiera llegado** ("I didn't think he had arrived"). **Ojalá hubiera estudiado más** is "I wish I had studied more".

B2 Time, mood, and perspective ·

The main rule

Both tenses are haber in the subjunctive plus the participle. After a present trigger (no creo que, dudo que, me alegra que, es una pena que, espero que) an earlier event takes haya + participle: No creo que haya llegado. After a past trigger (no creía que, me molestó que, fue una pena que) it takes hubiera + participle: No creía que hubiera llegado. A regret about the past is ojalá hubiera + participle: Ojalá hubiera estudiado más.

Forms

Take haya (perfect) or hubiera (pluperfect) and add the participle, which never changes: haya hablado, hubiera comido. The auxiliary comes from haber and is the same for every verb.

Perfect and pluperfect subjunctive of hablar
Tenseyotúél, ella, ustednosotrosvosotros (Spain)ustedes, ellos
perfecthaya habladohayas habladohaya habladohayamos habladohayáis habladohayan hablado
pluperfecthubiera habladohubieras habladohubiera habladohubiéramos habladohubierais habladohubieran hablado

Two spelling points: hayáis and hubiéramos carry a written accent, while hayamos does not. The other persons have none.

Participles: regular and irregular
InfinitiveParticiple
hablar, comer, vivirhablado, comido, vivido
hacerhecho
decirdicho
vervisto
escribirescrito
volver, devolvervuelto, devuelto
ponerpuesto
romperroto
abrirabierto
morirmuerto
resolverresuelto
cubrir, descubrircubierto, descubierto

Pronouns and no go before haya or hubiera, never between the auxiliary and the participle: Me alegra que se lo hayas dicho, No creo que lo haya hecho. Verbs built on these (descubrir, devolver, componer) keep the irregular participle.

English and Spanish

English keeps the plain indicative where Spanish wants the subjunctive: "I don't think he has arrived", "I'm glad you've passed", "It's a shame you didn't come". Spanish puts all of these in the subjunctive, and the perfect "has arrived" becomes haya llegado. The second trap is "I wish I had studied". English uses "had", and so must you, but as the subjunctive: Ojalá hubiera estudiado, never *había estudiado or *habría estudiado. Finally, "when you have finished" looks like a perfect, but Spanish needs the subjunctive after cuando for a future event: Cuando hayas terminado.

Which tense after which verb

The main verb and the mood decide
Main verbEarlier eventExample
present, doubt or feeling (no creo que, me alegra que)haya + participleNo creo que haya llegado
past, doubt or feeling (no creía que, me molestó que)hubiera + participleNo creía que hubiera llegado
present, certainty (creo que, sé que)indicative: ha llegadoCreo que ha llegado
past, certainty (sabía que, estaba seguro de que)indicative: había llegadoSabía que había llegado

The triggers are the ones you already know: doubt and denial (no creo que, dudo que, es posible que, puede que), value judgements (es una pena que, es raro que), wishes (espero que, ojalá) and emotions (me alegra que, siento que). If the speaker states a fact (creo que, está claro que, es verdad que), the indicative stays.

Two honest nuances. After a present verb, the simple imperfect subjunctive is also possible for a past event: No creo que lo hiciera is correct next to No creo que lo haya hecho. The perfect ties the event to now, while the imperfect puts it in a closed past. After a past verb, the simple imperfect is common when the events are simultaneous or the order is clear anyway: Me molestó que no me llamaras. Hubiera makes "earlier" explicit. You will also meet hubiese (hubiese llegado), the -se variant with the same meaning. Recognise it, and use hubiera.

Examples

  • No creo que haya llegado todavía. I don't think he has arrived yet.
  • Me alegra que hayas aprobado el examen. I'm glad you've passed the exam.
  • Es raro que no haya llamado. It's odd that he hasn't called.
  • Espero que hayas dormido bien. I hope you slept well.
  • No creía que hubiera llegado tan pronto. I didn't think he had arrived so soon.
  • Me molestó que no me hubieras llamado. It annoyed me that you hadn't called me.
  • Fue una pena que se hubieran ido antes. It was a shame they had left earlier.
  • Ojalá haya salido bien la entrevista. I hope the interview went well.
  • Ojalá hubiera estudiado más. I wish I had studied more.
  • Cuando hayas terminado, llámame. When you have finished, call me.

Ojalá: not known yet or did not happen

Ojalá haya salido bien is a hope about something that has already happened, but the speaker does not know the result yet. Ojalá hubiera estudiado más is a regret: it did not happen. A time marker keeps the forms apart: Ojalá tuviera más tiempo ahora (present wish, previous topic) against Ojalá hubiera tenido más tiempo ayer (regret). Sentences with si hubiera belong to a later topic.

Cuando hayas terminado

For a future event that must be finished first, Spanish uses cuando, en cuanto, hasta que or después de que with the perfect subjunctive: En cuanto hayas terminado, avísame, No salgas hasta que haya parado la lluvia. The present subjunctive is just as correct (Cuando termines, llámame); the perfect stresses that the first action is complete. Never use the indicative or the future here.

Quick check

Ask two questions. Is the speaker doubting, judging or feeling something (not stating a fact)? Is the event earlier than the main verb? If both answers are yes, the main verb in the present gives haya, in the past gives hubiera.

Common mistakes

  • No creo que ha llegado. No creo que haya llegado. doubt takes the subjunctive, not the English-style indicative
  • Me alegra que has aprobado. Me alegra que hayas aprobado. feeling: subjunctive
  • Me sorprendió que ya habían terminado. Me sorprendió que ya hubieran terminado. past feeling about an earlier event: pluperfect subjunctive
  • Ojalá había estudiado más. Ojalá hubiera estudiado más. regret: subjunctive, not the indicative
  • Ojalá habría estudiado más. Ojalá hubiera estudiado más. no conditional after ojalá
  • Cuando habrás terminado, llámame. Cuando hayas terminado, llámame. subjunctive after cuando, not the future
  • Es raro que haya se ido. Es raro que se haya ido. pronoun before haya
  • Dudo que hayan abrido la tienda. Dudo que hayan abierto la tienda. irregular participle

Questions and answers

What is the perfect subjunctive in Spanish?

It is haya + participle (haya llegado, hayas aprobado). It is used with doubt, feelings, judgements and wishes when the event happened before now: Me alegra que hayas aprobado.

What is the difference between haya hecho and hubiera hecho?

The tense of the main verb decides. A present verb takes haya hecho (No creo que lo haya hecho), a past verb takes hubiera hecho (No creía que lo hubiera hecho).

Can I say no creo que lo hiciera instead of no creo que lo haya hecho?

Yes, both are correct for a past event. The perfect links it to the present, while hiciera places it in a closed past.

What is the difference between hubiera and hubiese?

None in meaning. Hubiese is the -se variant; hubiera is more common, so use it and recognise the other.

How do you say "I wish I had studied" in Spanish?

Say Ojalá hubiera estudiado. For a hope about something whose result you do not know yet, use Ojalá haya salido bien.

Is it cuando hayas terminado or cuando termines?

Both are correct. Cuando hayas terminado stresses that the first action is complete; cuando termines is slightly more neutral.

Check yourself

Practise with instant feedback, then pass the exam to certify the topic. Practice and exams come with Reader from €1/month.

More B2 topics