ZenChat
Your chat frame already knows where you are. It should act like it. ZenChat is the addon that finally makes World of Warcraft chat behave like it understands the difference between a crowded city square and a raid pull. If you have ever set up your channels for roleplay in Stormwind, zoned into a dungeon, and watched LookingForGroup keep shouting into your evening, this one is for you.
What ZenChat Actually Does
The core idea is simple: ZenChat keeps a set of channels for each place you go and swaps between them as you move. City, open world, dungeon, raid group, battleground, your house, and do-not-disturb. Seven venues, each remembering what it should show. When you leave town, the trade chatter goes quiet. When you come back, it is exactly where you left it.
The clever part is what ZenChat does not do. It never uses /leave on a channel for you. It just hides it. Leaving a channel renumbers every channel below it, which means your /1, your /2, every macro and keybind pointing at a number suddenly points somewhere else. Rejoining appends rather than restores, and the client throttles it, so a profile that fires on a zone change would spend its evening leaving and rejoining channels in full view of the room. ZenChat shows and hides. Your channel numbers never move. You stay joined to everything, so nothing is missed while you are not looking at it, and nothing announces your comings and goings.
Supported Game Versions and Compatibility
ZenChat for World of Warcraft is built with modern clients in mind and is designed to slot into the Zen suite alongside addons like ZenChannelColours and SpeakinSpell. It targets Retail and is built for the Midnight era, Interface 120100. Players running Classic, TBC, WotLK, Cataclysm, and MoP should check the current release notes before installing, since API differences between client branches can affect chat hooks. If you play across multiple versions, keeping a separate addon folder per client is the safest habit.
Small Touches That Change the Evening
Channel names get shortened on the line as it is drawn. [1. General] becomes [G], or whatever you would rather. Because the rename happens after the client has decided which window the line belongs in, nothing gets misrouted into silence.
Timestamps get real options: a colour of your choosing, a server clock, or both clocks in one bracket. The client's own timestamp setting cannot express any of those, so ZenChat builds the stamp itself and hands your setting back when you turn it off.
- Discord emphasis read as brightness: *soft* and **strong** lean the line's colour toward an accent at two distances, while `code` drops to a flat ash because a code block is a different kind of text, not a louder one.
- Relayed lines from a Discord bridge get marked, since the client's event type is not a reliable tell. A reader knows whose voice they are reading.
- TotalRP3 NPC talk is rendered whole, with prefix and speech verb parsed out and hyperlinks surviving the trip.
- Copy chat puts a button on the frame that hands you selectable text straight from the buffer, with secret escapes stripped rather than copied.
- A panel of fifty-seven accented forms inserts characters at the cursor of whatever edit box you are typing in, for every name you have been spelling wrong for two years.
The social toast, voice controller, and emote button stack into a tidy column instead of spreading down the whole side, dimmed when nobody is hovering them. A strip tells you which profile is live, so the evening you cannot find Trade lasts four seconds instead of minutes.
Clean Hooks, No Leftovers
Formatting goes through Blizzard's own message filter rather than a permanent hook on AddMessage. An undoable hook leaves fingerprints on a function the client calls constantly, and when the client refuses a protected action it blames the fingerprints rather than the culprit. Somebody else's bag click gets blamed on your chat addon. ZenChat arms and disarms cleanly, and turning a feature off actually removes it. Nothing is renamed. Nothing is reparented. Turn ZenChat off and your chat frame is the one Blizzard gave you.
If you want a faster setup path, the foxygame.net launcher can handle ZenChat installation in a single click and keep it updated automatically, so your chat profiles stay current without manual folder juggling.
How to Install ZenChat
Install it, and it works. If you want to change something, /zchat opens the menu, and the minimap button does the same. Use /zchat capture to store the channels you are showing right now as the profile for where you are standing. Then /zchat stamp, /zchat emphasis, /zchat buttons, /zchat font, and /zchat indent handle the individual pieces. Every feature is independent, so you can take the profiles and leave the formatting, or the other way about.
To download ZenChat, grab the latest release, drop it into your Interface/AddOns folder, and restart the client. Bug reports and requests are welcome, and bringing the error text helps more than anything else.
The Verdict
ZenChat solves a problem most players have quietly tolerated for years: chat that does not know where it is. By hiding instead of leaving, it protects your channel numbers, your macros, and your keybinds while giving each zone its own voice. Whether you are raiding, roleplaying, or just trying to find Trade chat again, it earns its place in your addon list.
===ARTICLE===