Macro Toolkit

screenshot imagescreenshot imagescreenshot imagescreenshot imagescreenshot imagescreenshot imagescreenshot imagescreenshot imagescreenshot imagescreenshot imagescreenshot imagescreenshot imagescreenshot image
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail
  • screenshot thumbnail


Buy Me a Coffee at ko-fi.com

Macro Toolkit

Important notice for The War Within

Initially during beta, Blizzard decided to remove the underlying technology that allowed Macro Toolkit (and similar addons) to function. Thankfully, they're reverted most of this change, but there are still a few restrictions they implemented.

  • It's no longer possible to "extend" macros beyond the 255 character limit
  • This means extended macros are dead, and the ability to extend a macro will be removed
  • Key bind only macros will be limited to 255 characters
  • This change will end up in classic at "some future patch"
  • See https://github.com/Stanzilla/WoWUIBugs/issues/552#issuecomment-2192109095
  • If you're testing on beta right now, the Blizzard's changes may not be live yet. Additionally, Macro Toolkit has not been updated, and is likely bugged in several areas (pull requests on github are welcome).

Note on the Dragonflight updates:

The priority for any bug fixes, are the core feature (macro management, and extended/keybind-only macros). Other features (such as the various slash-commands) may not be working properly, and might get deleted, to simplify maintenance.

The source has also been moved to GitHub, to make it easier for others to contribute, and keep this addon alive :)

Please also report issues on GitHub, as that's easier to track than curseforge comments


Wrath/vanilla classic support

Since I do not play Wrath classic, support is incidental, and not guaranteed. Blizzard has been making updates to how macros function in retail, that have not (yet) arrived in Wrath or vanilla classic. You're free to report any issue you find on GitHub, but if it takes more than a few minutes to reproduce and fix, it likely won't be touched.

If you're an addon developer, interested in keeping classic support alive: feel free to contact me on GitHub.


Known issues

  • ElvUI skin does not work ⇾ no plan to fix this, PRs are welcome
  • SpellIDs in [known:spellIDOrSpellName] aren't syntax highlighted as spells ⇾ low priority visual issue


Some features are marked at "[abandoned feature]". This means that they may work, but if anything breaks, it's more likely that the feature will be removed, rather than fixed.

Macro Toolkit is an enhanced macro frame that adds the following features to the default macro UI:

  • Macro Shortening
  • Key Binding and key bind only macros
  • Extended Macros
  • Condition Builder
  • Extended, Searchable Icon Frame
  • Syntax Highlighting
  • Syntax Checking
  • Drag and Drop Moving
  • Movable Macro Frame
  • Scalable Macro Frame
  • Insert Special commands
  • Easy Slot Selection
  • Backup [abandoned feature]
  • Restore [abandoned feature]
  • Clear all Macros [abandoned feature]
  • Share Macro [abandoned feature]
  • Add Custom Slash Commands [abandoned feature]
  • Slash Commands for Common Lua Script Functions [abandoned feature]
  • Copy macros between characters [abandoned feature]
  • ElvUI Skin [abandoned feature]
  • Add certain types of macro to a data broker [abandoned feature]

Using Macro Toolkit

By default, Macro Toolkit overrides the built-in macro UI and can be accessed in the same way. If you chose to keep the default UI as well, Macro Toolkit can still be accessed using the following slash commands:

  • /mac
  • /mtoolkit
  • /macrotoolkit

Be warned though that if you chose this option, the two macro frames may not play well together.

Macro Shortening

Macro Toolkit will attempt to shorting your macros without affecting functionality. It does by looking for the shortest options for each command used, removing unnecessary spaces and optionally replacing known common Lua script functions with Macro Toolkit commands. This is more involved than it may sound, so it's worth checking that nothing has been removed that you kinda wanted to be left alone once you've used this function.

Key Binding and key bind only macros

Macros can be bound directly to keys without the need to place the macro on an action bar. Macro Toolkit also has a special tab that adds 18 keybind only macros - these macros can only be used with key binds, they cannot be put onto action bars.

Extended Macros

Macro Toolkit can extend macros beyond the 255-character limit.

Condition Builder

Macro Toolkit has a tool to help you build conditional statements for use in macros using dropdown boxes with easy to understand descriptions of the conditions.

Extended, Searchable Icon Frame

When creating a new macro or changing an existing one, the default macro UI offers you a small window showing 15 of the available icons for your macro at a time. As of version Macro Toolkit uses LibAdvancedIconSelector to make more icons visible at the same whilst also offering a search facility and icon filtering by means of options.

Syntax Highlighting

Macro Toolkit can optionally highlight commands, conditions and parameters in macros by changing the colour (yeah, I'm British :-)) of each keyword. These colours can be adjusted using the in game options menu.

Syntax Checking

Basic syntax (which can be switched off if required) is performed on the macro as you type (or after they've been typed). Any errors found, along with suggestions for mistyped keywords, are shown in an adjacent window.

Drag and Drop Moving

Macros can be moved from General to Character Specific, or vice versa by a simple drag and drop operation

Movable Macro Frame

Macro Toolkit's frame can be moved to anywhere you want it on your screen. The position will be remembered for future use.

Scalable Macro Frame

Macro Toolkit's scale can be adjusted. This allows you to increase or decrease the size of the frame in relation to the rest of the game UI which can help considerably in making your macros easier to read.

Insert Special Commands

Macro Toolkit contains a dropdown list of common Lua script functions used in macros that can be inserted into your macro. The scripts have been converted to slash commands - see below for an explanation of those commands

Easy Slot Selection

To make is easier to work out which slot number equates to which equipment slot on your character, Macro Toolkit includes a dropdown that list all available slots by name, and inserts the appropriate number into your macro.

Backup / Restore / Clear All [abandoned feature]

Macros can be backed up to your saved variables file and restored later. Macro backups are performed by group, so, if you have the character specific tab selected, then only those macros will be backed up. The same is true for restore. There is also a function to clear all your macros (subject to which tab is selected) if you just want to wipe them all and start again.

Share Macro [abandoned feature]

Macro Toolkit will print the selected macro to either the Guild, Raid or Party frame if required so that you can share your macros with other people. As of version macros can also be sent directly to other Macro Toolkit users, either individually or to your whole group.

Add Custom Slash Commands [abandoned feature]

If you have a Lua script function that you often use, or just want to shorten, you can create your own custom slash command and add the script to it. Parameters to your script can be accessed using the variables arg1, arg2, arg3 and arg4.

Copy macros between characters [abandoned feature]

When you log into a character with Macro Toolkit enabled, that character's macros will be recorded (with the right option set) so they can be used with other characters.

Slash Commands for Common Lua Script Functions [abandoned feature]

Macro Toolkit has the following built in slash commands designed to be used within macros:

  • /mtce - Clears UI Errors
  • /mtex - Stops errors being sent to the Errors Frame
  • /mteo - Allows errors to be sent to the Errors Frame
  • /mtrp - Summons a random non combat pet
  • /mtso - Enable sound effects
  • /mtsx - Disable sound effects
  • /mtrt - Set raid target marker
  • /mtev - Exit vehicle
  • /mtmc - Print the player's map position
  • /mtep - Eject all passengers
  • /mtsg - Sell all grey quality items at the vendor screen
  • /mtdg - Destroy all grey quality items
  • /mtnb - Print a list of all people in your raid with no food buff
  • /mtnf - Print a list of all people in your raid with no flask buff
  • /mtfm - Summons a random favourite mount, like the mount journal button, but this command accepts conditionals
  • /mtc - Add conditionals to conditionally execute insecure commands (i.e. not /cast, /target, etc) - new in

ElvUI Skin [abandoned feature]

For those of you that use the excellent ElvUI, MacroToolkit will skin itself to match. Note that this will only work for ElvUI users. Version adds an option to switch off the ElvUI skin for ElvUI users if desired.

Bug Reports / Change Requests

If you find any bugs or have any suggestions for improvements, please use the ticketing system, accessible from the following link:


Macro Toolkit is currently localised for all WoW game client locales. If you would like to contribute to translating Macro Toolkit, please use the following link:

Please note that the quest names and NPC names are not included in the locale and will still appear in English.


  • Dohram - for features and testing
  • HOPE - for very helpful and patient testing.
  • marciowb - Keeping her alive
  • xBolte - Keeping her alive
  • Numy - Dragonflight support