Learn English – Difference between “Why couldn’t you” and “Why couldn’t you have”

modal-verbspast-tense

I'm not sure if understand the difference between "Why couldn't" and "Why couldn't you have", could you guys tell me if I understand it correctly?

For example, these sentences

Why couldn't you do that before?

and

Why couldn't you have done that before?

I would say that it has something to do with ability and decisions, like, in the first one I'm asking about his past ability to do something, I want to know why he wasn't able to perform it before, whereas in the second one I'm asking about his decision, it's more like "Why didn't you do that before". I know he was able to do it, but he didn't, and I'm asking him about his reasons not to do it.

Perhaps I'm wrong, and there is no difference at all, but I couldn't find anything that would help me to understand this nuance

Best Answer

You are right! the first one is asking what prevented him from doing it before and the second is usually asked after doing something he should have done sooner.