Classic mage macros

Polymorph, counterspell, and the frost bind: the three macros that carry a classic mage through everything.

The rank-1 polymorph

The PvP staple: shift for the cheap rank-1 poly, plain press for the full one. Both on one key, and the rank syntax is era-correct classic:

#showtooltip/cast [mod:shift] Polymorph(Rank 1); [harm] Polymorph

The harm gate keeps the bind honest on neutral targets, and the rank-1 fallback line costs almost nothing: classical mages re-poly a broken target, so the cheap rank is the one worth binding.

The focus counterspell

The arena-defining bind: stop whatever you are casting first, then kick the focus target if shift is held, otherwise your current target. Classic-era unit syntax applies:

#showtooltip/stopcasting/cast [mod:shift,target=focus,harm,nodead] Counterspell; [harm] Counterspell; Counterspell

The /stopcasting is what makes the kick land through your own cast in progress. Full notes on the pattern live on thetargeting page.

Frost armor, the fallback bind

The lazy classic standby: shift drops the blizz coat, plain press does whatever the moment needs. The chain is a textbook lazy macro:

#showtooltip/cast [mod:shift] Frost Armor; [combat] Fire Blast; Frost Armor

Shift armors up. In combat, fire blast. Out of combat, armor anyway. One key, three truths, zero thought. The fallback keeps the bind useful every single press.

The blink emergency

Blink is the mage's panic reset, and a clean bind drops the cast and films out in one key:

#showtooltip/cast Blink

Boring on purpose: emergency binds get the least decoration. The mage kit is famously macro-famous because every tool wants a gate: poly gates on the target, counterspell on the focus, armor on combat. That gate-first habit is the wholeconditionals language in class form, and the retail mage page carries the same methods into modern WoW.

Questions people ask

Why would anyone do Polymorph(Rank 1)?+
Rank-1 polymorph costs less mana, is the same duration, and is all you re-cast when breaking and re-polying a target. Classic-era macro syntax addresses ranks by name, and the rank-1 poly macro is one of the era's most common binds.
How do I set the focus for the Counterspell bind?+
Target the caster you want to lock down and run /focus, or bind a setter macro (the classic era has no mouseover-focus, so target-then-/focus is how it works in that era). The bind itself then kicks the focus with shift, or whoever you are targeting otherwise.
Do these work in TBC and WotLK Classic?+
Yes. Polymorph, Counterspell, and Frost Armor behave the same across the classic eras. Later classic eras add spellsteal-adjacent tools but nothing on this page breaks.