I'm a grandmother and can tell you that lying at this age is common. My granddaughter who is 6 also lies. This started last summer and seems to be getting worse. And....her mother makes lying a big deal doing some of what the other mother suggested. I see the increase in lying as the result of my daughter punishing her instead of teaching her.
It is important to teach children the difference between a lie and the truth. That is part of what is going on at this age. When they tell us a lie they are telling us what they want to be true. sometimes they will know it's not the truth but often it feels true to them. This age is also playing make believe and pretend. They growl like a lion and say, "I'm a lion." They know that they're not a lion but it's fun to pretend. My granddaughter will still sometimes say, "I am too a lion." when I laugh and say, "you're not a lion." Pretending is also a way to learn about the world and their role in it.
I don't look at that as a lie but as a fun way to use her imagination.
She has also told me that her aunt now lives across the street. I knew that not to be true and so I said, "I wish she did live across the street. That would be so fun." She continued to say that she lived across the street and I just let her talk. I had told her I knew the truth and indirectly told her fantasy is fun.
That is an example of an obviously harmless "lie."
And if your son is pretending and acting like it's the truth I recommend either going along with it depending on what the pretense is or to smile or laugh and say something like "isn't it fun to pretend?"
If he's lying when you ask him if he broke a toy then I'd handle it somewhat differently but still in a light hearted manner. For example, if you know that he broke the toy, don't ask him if he did. That sets him up to lie and the goal is to show him it's not necessary or beneficial to lie. Say, "I know you broke this toy and so I'm going to have you and name the consequence if there is to be one. If he insists that he didn't it's because he's wishing that he didn't and in his undeveloped mind hopes that somehow by saying he didn't it didn't happen. or something like that.
Babies are born with very underdeveloped minds which develop over the course of years. Children cannot comprehend the same range of information that adults do. And it is our job to teach them but we need to do it with an understanding of the mind's development.
We learn best in a positive atmosphere. Giving praise and positive direction works best for learning. We all shrivel under negative criticism.
I'm not saying ignore the lies. I'm saying put them in the perspective of the developmental picture. Teach what is true and what is not true in a loving way. Understand that lying is a part of learning and not a serious behavior at this age.
As to teaching him that lying hurts and disables trust he is too young to learn that lesson. It's for later. Trust is a very complex concept. Right now he's learning the difference between fantasy and real life.