Why "Per My Last Message" Is Quietly Wrecking Your Team's Trust
Passive-aggression in workplace chat rarely looks aggressive. Here's how it actually shows up in Slack — and what to write instead.
Passive-aggression in workplace chat rarely looks aggressive. Here's how it actually shows up in Slack — and what to write instead.
Most passive-aggressive messages at work don't look angry. They look polite. That's what makes them effective, and also what makes them corrosive over time.
A message is passive-aggressive when its literal content and its actual function point in different directions. "Per my last message" reads as a neutral reference. Its function, in most contexts, is to say you didn't read this the first time, and I want that on record.
The words are civil. The subtext isn't. And subtext is what people remember.
In distributed teams, almost all of this friction happens in writing — Slack threads, PR comments, status updates — where there's no tone of voice to soften a pointed line. A few patterns show up constantly:
None of these are rule violations. That's exactly why they're hard to flag and easy to deny — "I was just being clear" is a defensible read of almost any of them.
Passive-aggression is expensive precisely because it's deniable. The recipient can't call it out without sounding thin-skinned, so it usually goes unaddressed — and unaddressed friction compounds. Teams that communicate this way for long enough don't have fewer disagreements; they just stop having them out loud.
The fix isn't to over-correct into blunt. It's to say the actual thing:
Instead of: "Per my last message, the deadline is Friday." Try: "Flagging again in case it got buried — deadline's Friday. Let me know if that's tight."
Same information. No subtext to decode.
This is the exact pattern Tonalyzer's Passive-Aggression detector is built to catch — one of four detectors in its Interpersonal Friction family, alongside Condescension, Performative Bluntness, and Microaggression. It reads a draft the way a candid colleague would, before it reaches Slack.
Tonalyzer is currently in development. See what it's built to catch →