"He always tells the truth."
Translation:Han talar alltid sanning.
Is there a rule that explains why 'sanningen' is wrong? Or is it only a special case in this scenario?
Not a native Swedish speaker myself but for everyone wondering why "pratar" isn't accepted this is what I could gather. It seems that "tala sanning" is an idiomatic construction, thus meaning "prata" can't be substituted, recall that "prata / tala" are usually "to talk / speak", rather than "to tell". I've also seen people ask about "säga" in the comments here, this means "to say".
Thus the only options you can use here are the literal translation and the idiomatic one, those respectively being:
"Han berättar alltid sanningen" and "Han talar alltid sanning"
Actually, it's the reverse of that. "pratar" is "talks", and "talar" is "speaks". There's a lot of overlap, and they can sometimes be used interchangeably, but those are the closest translations.
As to why "han pratar sanning[en]" is wrong, it's like saying "he talks the truth". It's not how we would say it in English, and it's not how they would say it in Swedish. It's somewhat of a fixed phrase.