he will get aggressive via email with organisations/strangers. He’s sweet as pie to everyone else. Sometimes he’s borderline nasty through piss taking/mockery. He’s brutally honest. When he turns on the charm everyone fawns over him. In general people would say “really nice guy”
It feels like he’s determined to prove I’m not perfect? While at the same time it not being ok to take any kind of criticism at all. It’s very hard to untangle
He gets really angry and lashes. Face red. Eyes flashing. He then has his vicious say and off he strops. Then he’s holed up in the bedroom and not speaking for days on end until I apologise. There’s no way to resolve it by approaching it like that because he’s just too furious and will not back down. He’s said before that if I didn’t “push back” and insist on being “right” then it wouldn’t be a problem. But it is a problem. So my choices are to immediately say “sorry” everytime he gets angry regardless what it is that’s set him off eg dropping the bowl.
All this I could have written word-for-word about my ex, who now has a formal diagnosis of narcissism from a psychologist.
I would suggest doing a lot of reading about narcissism and see what rings true for you. There's a lot to process and get to understand about the disorder.
(Side note: Do not tell your husband about this as it will likely only upset him, but it will start to give you clarity and some assurance that you're not crazy.)
It's likely your husband comes from an abusive family or experienced significant social trauma as a teenager so has formed dysfunctional mental models of how to operate in relationships. It can be treated (but not cured... depending on the severity of his condition, the dysfunctional thinking will likely recur throughout his life when he is under stress) but it takes a hell of a lot of work and willingness on his part, as well as your ability to have compassion for the fact that he suffered trauma as a child/young adult and is damaged by it.
You will also need to work to fix your own people-pleasing tendencies and start to put crystal-clear boundaries in place that you are prepared to enforce. A good example of this relating to your current situation might be (delivered at a time when he is calm and you can talk for a while afterwards):
"Husband, I need to talk to you about your shouting. When you shout at me, I find it extremely stressful and upsetting. I feel like you're shaming me and trying to frighten me into never making mistakes or having accidents. But every person in the world makes mistakes and has accidents, and shouting in anger only creates an atmosphere of fear and stress around completely normal events, even if those events are not ideal.
"Your repeated shouting is making me and the children unhappy to the point where I am strongly reconsidering whether I want to remain in this relationship. It's not a healthy environment for me or them. I understand that you get upset when something doesn't go right but creating an atmosphere of fear and shame won't fix a broken plate or erase a poorly-thought-out sentence.
I would like you to commit to stopping shouting at me and the kids. I understand that it's a long-term habit and probably won't change perfectly overnight, but I can't live with the expectation that it's fine and normal any longer. If you shout by accident, I expect you to immediately recognise that it's an unhealthy way to handle problems, apologise, and take yourself away to cool off until you can approach the issue calmly. I will make the same commitment to you. I need you to understand this is a deal-breaker for me. I love you but I cannot live with the unhappiness your shouting is causing me anymore."
Your husband's response to this will tell you a lot. If he insists that shouting is totally normal and fine and he's not going to change who he is and your expectations are totally unrealistic etc etc, this is a clear sign that he is not ready to address his issues at all. Do not try to argue with him; it will go nowhere. Just say, "Okay. I can see we have very different perspectives on this. Thank you for being honest with how you see it."
Then make firm plans to leave. I'm completely serious. If your husband can't address an issue of respect as basic as not shouting in anger at people he loves, you are only in for many more years of pain in the future.
If he shows some recognition of his issues, but seems uncertain about his ability to change, suggest therapy. Casting it as couples therapy might help, but stay clear in your mind that you do not cause him to shout – this is a 'him' problem. A good couples therapist will be on your side with this one.