Why is this sentence correct if you can't have "would" for repeated action in the past with a state verb?

Why is this sentence correct if you can't have "would" for repeated action in the past with a state verb?

   "Our grandmother would always have a little surprise waiting for us when we visited."

   I know that "have" can be an action verb, such as *I am having lunch.", but in this meaning above, we can't say, for example "I am having a surprise for you."
   So if "have" is a state verb in my above example, how can we use "would", knowing that a sentence like "I would have short hair when I was younger." is incorrect since "have" is also a state verb in that sentence?

Gypsyfish2021-03-10T19:16:02Z

Favorite Answer

Because "have" is not a state verb in that sentence. The grandmother doesn't just possess a snack- she prepares it and gives it to the grandchild. There are many usages of "have" in English. 

GuantanamoGeorge2021-03-11T23:29:47Z

"Have" is not a state verb. It is a transitive verb. She had a surprise. 

I've never heard of your rule that you can't use "would" for repeated action in the past with a state verb. "Grandma would always be in the kitchen when we arrived." I don't think anyone would object to that sentence other than the person who made up that "rule" for no reason. 

ignoramus2021-03-11T17:44:43Z

I do not know what you mean by a "state verb".  A verb is a verb, whatever its function in the sentence.

Your example "I am having a surprise for you." is meaningless.  Likewise "I would have short hair when I was younger." is rubbish.  "I HAD short hair when I was younger" is the correct and ONLY form.  Your division of verbs into "action" or "state" form is nonsense.

Land-shark2021-03-10T20:28:29Z

It is correct. 'would have' also implies that she made a special effort to make sure there was a nice surprise ready.

?2021-03-10T17:31:51Z

It is correct but if you don't like it, you could correctly say, "Our grandmother always had a little surprise waiting for us when we visited" since it conveys the the same thing in the past tense