this is a tough one.
First of all, he needs to know who is in charge. Right now, he thinks it’s him.
he’s not too young to talk to about his behavior, but at this age, you may well get his attention much faster by being very stern and “hands on” with him.
Once he starts screaming, I would take him aside IMMEDIATELY and tell him that that isn’t acceptable. That you don’t “do” that kind of thing. Just by removing him from the situation you will have his attention cuz he’s gonna be like.. “huh?? where are we going??” Take him to his bedroom or somewhere quiet. And frankly.. somewhere boring. He’ll soon learn that it’s no fun and he’s not getting the reaction he wants from you.
I’d also get in his face a little bit. Show him that you are bigger and have the authority. Don’t scare him, but show him you are the boss, not him. Carefully use your words. Tell him that he is not acting nicely or that you like it better when he doesn’t scream at you. You can redirect him to other things, but you should try not to tell him that he’s a bad boy or whatnot. He doesn’t have the capacity to separate his ACTIONS from his PERSON yet and might feel like you think he IS bad. KWIM?? Try to phrase things in the postitive rather than the negative and praise him for calming down.