# Present Perfect and Past Perfect Subjunctive: haya hablado, hubiera hablado

https://langs123.com/en/spanish/subjuntivo/subjuntivo-compuesto/
CEFR B2–C2 · 2026-10-19 · CC BY 4.0, langs123 contributors (https://creativecommons.org/licenses/by/4.0/)

> The compound subjunctive joins haya or hubiera with a participle: haya llegado names what is finished and hubiera llegado what came before a past moment. A main verb in the present takes haya, and one in the past takes hubiera: Espero que hayas llegado. Esperaba que hubieras llegado.

## Cheatsheet

| Point | Rule | Example | English |
| --- | --- | --- | --- |
| Form | haya / hayas / hayamos / hayan + past participle | Me alegro de que hayas venido. | I'm glad you have come. |
| Form | hubiera / hubieras / hubiéramos / hubieran + past participle | Ojalá hubiera venido. | If only he had come. |
| Use | haya: a finished action in a period that reaches the present | Espero que hayas dormido bien. | I hope you have slept well. |
| Use | hubiera: an action before another past action, or one that did not happen | No creía que hubiera llegado. | I didn't think he had arrived. |
| Time | after cuando, a future action that comes before another | Cuando el jefe se haya ido, hablamos. | When the boss has gone, we'll talk. |
| Condition | si + hubiera + past participle | Si hubieras llegado antes, habrías visto el inicio. | If you had arrived earlier, you would have seen the beginning. |
| Form | a verb built on an irregular one keeps its participle | Dudo que lo haya descrito. / Ojalá lo hubiera devuelto. | I doubt he has described it. / If only he had returned it. |
| Use | after a negated belief, haya replaces the future perfect | No pienso que se haya quedado dormido. | I don't think he has fallen asleep. |
| Use | with a past reference, the imperfect can replace haya | No creo que haya salido anoche. / No creo que saliera anoche. | I don't think he went out last night. / I don't think he went out last night. |
| Trap | after a past-tense verb, hubiera and not había | Dudaba que lo hubiera hecho. | I doubted he had done it. |
| Trap | after cuando, haya and not habrá | Cuando haya terminado, te llamo. | When I've finished, I'll call you. |

## Overview

- The subjunctive has two compound tenses: the pretérito perfecto, with haya, and the pretérito pluscuamperfecto, with hubiera. Dudo que haya llegado. / Dudaba que hubiera llegado. — I doubt he has arrived. / I doubted he had arrived.
- Pronouns and no go before the auxiliary, and nothing goes between the auxiliary and the participle. Dudo que se lo haya dicho. / Dudaba que me hubieras visto. — I doubt he has told him. / I doubted you had seen me.
- They match the Present Perfect and the Past Perfect of the indicative.
- The auxiliary is haber in the subjunctive: Present Subjunctive: Forms and Imperfect Subjunctive.
- When the subjunctive is used: Subjunctive for Wishes, Doubt and Opinions; choosing the tense: Sequence of Tenses with the Subjunctive.

## Form: present perfect

| Person | haber | hablar | comer |
| --- | --- | --- | --- |
| yo | haya | haya hablado | haya comido |
| tú | hayas | hayas hablado | hayas comido |
| él / ella / usted | haya | haya hablado | haya comido |
| nosotros / nosotras | hayamos | hayamos hablado | hayamos comido |
| vosotros / vosotras | hayáis | hayáis hablado | hayáis comido |
| ellos / ellas / ustedes | hayan | hayan hablado | hayan comido |

## Form: past perfect

| Person | haber | hablar | comer |
| --- | --- | --- | --- |
| yo | hubiera / hubiese | hubiera hablado / hubiese hablado | hubiera comido / hubiese comido |
| tú | hubieras / hubieses | hubieras hablado / hubieses hablado | hubieras comido / hubieses comido |
| él / ella / usted | hubiera / hubiese | hubiera hablado / hubiese hablado | hubiera comido / hubiese comido |
| nosotros / nosotras | hubiéramos / hubiésemos | hubiéramos hablado / hubiésemos hablado | hubiéramos comido / hubiésemos comido |
| vosotros / vosotras | hubierais / hubieseis | hubierais hablado / hubieseis hablado | hubierais comido / hubieseis comido |
| ellos / ellas / ustedes | hubieran / hubiesen | hubieran hablado / hubiesen hablado | hubieran comido / hubiesen comido |

- hubiera and hubiese mean the same; hubiese is more frequent in Spain and in writing. Ojalá hubiera venido. = Ojalá hubiese venido. — If only he had come. = If only he had come.

## Form: irregular participles

| Verb and participle | Example | English |
| --- | --- | --- |
| hacer → hecho | Es raro que ya lo hayan hecho. | It's odd that they have already done it. |
| escribir → escrito | No creo que Marta haya escrito esa carta. | I don't think Marta has written that letter. |
| ver → visto | Ojalá lo hubieras visto. | If only you had seen it. |
| describir → descrito | Dudo que lo haya descrito bien. | I doubt he has described it well. |
| devolver → devuelto | Ojalá lo hubiera devuelto a tiempo. | If only he had returned it on time. |
| componer → compuesto | No creía que hubiera compuesto esa canción. | I didn't think he had composed that song. |
| deshacer → deshecho | Es raro que ya hayan deshecho la maleta. | It's odd that they have already unpacked the suitcase. |
| contradecir → contradicho | Me sorprendió que te hubieras contradicho. | I was surprised that you had contradicted yourself. |
| prever → previsto | No creo que nadie lo haya previsto. | I don't think anyone has foreseen it. |

- All irregular participles in one table: Irregular Verbs Table.
- A verb built on an irregular one keeps its participle in both tenses.

## Use: present perfect

| Use | Example | English |
| --- | --- | --- |
| Present perfect subjunctive: an action finished in a period that reaches the present | No es cierto que Marta haya escrito esa carta. / Espero que hayas dormido bien. / Me alegro de que hayas venido. | It isn't true that Marta has written that letter. / I hope you have slept well. / I'm glad you have come. |
| After cuando, a future action before another: haya or the present | Cuando el jefe se haya ido, hablamos. / Cuando el jefe se vaya, hablamos. | When the boss has gone, we'll talk. / When the boss goes, we'll talk. |
| After a negated belief, haya replaces the future perfect of the affirmation | Pienso que se habrá quedado dormido. ≠ No pienso que se haya quedado dormido. / Creo que ya habrán llegado. ≠ No creo que ya hayan llegado. | I think he must have fallen asleep. ≠ I don't think he has fallen asleep. / I think they must have arrived by now. ≠ I don't think they have arrived yet. |
| With a past reference, the imperfect subjunctive can replace the perfect | No creo que mi vecino haya salido anoche sin avisar. / No creo que mi vecino saliera anoche sin avisar. | I don't think my neighbour went out last night without telling anyone. / I don't think my neighbour went out last night without telling anyone. |

## Use: past perfect

| Use | Example | English |
| --- | --- | --- |
| An action before another past action, after a main verb in the past | No creía que Rosa ya hubiera llegado. / Me alegró que hubieras venido. | I didn't think Rosa had arrived yet. / I was glad you had come. |
| A wish about a past event that did not happen, with ojalá | Ojalá hubieras llamado antes. / Ojalá no hubiéramos salido tan tarde. | If only you had called earlier. / If only we hadn't gone out so late. |
| The unreal condition in the past: si with hubiera or hubiese | Si hubieras llegado antes, habrías visto el inicio. / Si hubiese salido temprano, no habría perdido el tren. | If you had arrived earlier, you would have seen the beginning. / If he had left early, he wouldn't have missed the train. |

- The full conditional sentence: Conditional Sentences.

## Typical errors

| ✗ | ✓ | Rule |
| --- | --- | --- |
| Dudo que ha llegado. | Dudo que haya llegado. | a verb of doubt takes haya and the participle, not the indicative present perfect |
| No creía que había llegado. | No creía que hubiera llegado. | after a past-tense verb, an earlier action takes hubiera, not había |
| Cuando se habrá marchado, avisamos. | Cuando se haya marchado, avisamos. | after cuando, an earlier future action takes haya, not habrá |
| Si habría llegado antes, habría visto el inicio. | Si hubiera llegado antes, habría visto el inicio. | the condition with si takes hubiera, not habría |
| Ojalá habría venido. | Ojalá hubiera venido. | ojalá takes the subjunctive, not the conditional |
| No creo que haya escribido esa carta. | No creo que haya escrito esa carta. | irregular participle: escribir → escrito |
| No creo que haya lo visto. | No creo que lo haya visto. | the pronoun goes before haya |
| No pienso que se habrá quedado dormido. | No pienso que se haya quedado dormido. | after a negated belief, haya replaces the future perfect |
| Dudo que haya describido el paisaje. | Dudo que haya descrito el paisaje. | a verb built on escribir keeps its participle: describir → descrito |
