"Tenemos un regalo para ti."
Translation:We have a present for you.
Because the "you" here is the indirect object of the sentence, rather than the subject.
The direct object here, by the way, is the gift; if "you" were the direct object instead, that'd be "te":
- Te presento a ella. = I present [introduce] you to her.
Interestingly Duo uses the word, present in the answer. In other cases they only allow gift, and mark present wrong. Inconsistent.