He's only 3.9 - it's when I ask him to do something he doesn't want to do or sometimes just when he doesn't want me to talk to him. He just says "You shut up!" in this horrible aggressive way. I think it must be something he's picked up from somewhere as he's never normally aggressive, he sometimes says "Stop asking me!" or something like that, but I hate this.
When he does it I tell him it's rude and that I don't want to hear him talk to me like that and have stopped playing with him or refused to pass him something he's asking for or whatever the situation is, saying "I don't want to do that for you if you're going to say horrible things to me". Anything stronger seems like an overreaction - will he just stop it, do you think, or am I being way too soft? He seems to be doing it to get a reaction, sometimes he kind of giggles afterwards like he knows he's said something naughty. So I'm thinking not providing with attention and keeping reinforcing that it's not a nice thing to say.