Myslot
Myslot
Copy your whole UI setup to any character — action bars, macros and keybinds — with one text string.
Setting up a new alt, moving to a new account, or rebuilding after a UI reset? Myslot exports your setup as a short, copy‑paste friendly text. Paste it on any character — even a different class — and click Import.
Browse and share profiles at <https://myslot.net>.
Features
- Action bars — every bar, including the main action bar pages, stance bars and the Skyriding bar
- Macros — both account‑wide and character‑specific
- Key bindings
- Click Cast Bindings (Retail)
- Cooldown Manager layouts (Retail)
- Talents (Retail) — see the profile's talent loadout string, get warned when it differs from yours, and load it into the talent window with one click
- Cross‑class & cross‑account — spells, items, mounts and pets you don't have are skipped with a clear message; unowned mounts can fall back to a random mount
- Saved profiles — keep up to 100 exports in game, sort by name / date / class and filter to your class
- Automatic backup — your current setup is saved before every import, so you can always roll back
- Choose what to import or clear — pick exactly which bars, macros and bindings to apply
- Fast & safe — asynchronous import with a progress bar, blocked during combat, CRC‑checked text
- Minimap button and
/myslotslash command
Supported game versions
Retail (The War Within / Midnight), Classic Era & Anniversary, Burning Crusade, Wrath, Cataclysm, Mists of Pandaria, Titan and WoW Forever. Options that a game version doesn't support are hidden automatically.
Usage
Export
- Type
/myslot(or click the minimap button) to open Myslot - Click Export
- Copy the text and save it anywhere — a text file, Discord, email, or myslot.net
Import
- Type
/myslotto open Myslot - Paste the exported text into the text box (or pick a saved profile)
- Choose what to import, then click Import
Importing a profile exported with talents other than the ones you are using asks for confirmation first — a profile's action bars rarely fit another build.
Talents (Retail)
Myslot doesn't import talents with the rest of a profile, but helps you switch to them:
- The profile's talent loadout string is shown in the Talents box under the text box — click it to select the string and copy it with Ctrl+C, e.g. for the talent window's Import.
- When the profile's talents differ from yours, click Apply talents: they are saved as the talent loadout
Myslot(replacing the previous one) and the talent window opens with it selected. Review it there and click Apply Changes to switch to it. - A profile saved before a talent tree change (a patch or hotfix) shows Talents out of date; it can still be loaded, but check it carefully since talents may have moved.
- The profile must be for your current specialization, and talents can't be changed in combat.
Talent loadout strings only exist since Dragonflight, so none of this is shown on Classic versions.
Slash commands
| Command | Description |
|---|---|
/myslot |
Toggle the Myslot window |
/myslot load <ProfileName> |
Import a saved profile by name — put it in a macro to swap setups with one click |
/myslot clear action |
Clear every action bar slot |
/myslot clear macro |
Delete all macros |
/myslot clear binding |
Clear all key bindings (Blizzard defaults included) |
/myslot clear talents |
Delete the Myslot talent loadouts made by Apply talents, in every specialization (Retail; your talents in use are kept) |
/myslot trim [N] |
Keep only the newest N saved profiles (default 100) and reload the UI |
Get Myslot
- CurseForge — <https://www.curseforge.com/wow/addons/myslot>
- Wago — <https://addons.wago.io/addons/myslot>
Contributing
Source code lives on GitHub: <https://github.com/tg123/myslot>. Bug reports and pull requests are welcome.
Localization
Translations are welcome! Please submit them at <https://www.wowace.com/projects/myslot/localization>.
Build your own Myslot
- Clone the source code into
Interface\AddOns\Myslot
$ git clone https://github.com/tg123/myslot.git Myslot
- Run the tests (Lua 5.1 + luabitop)
$ lua5.1 ci/run.lua
- Run the tests in game — a git checkout loads the test suite (it is stripped from CurseForge/Wago packages), then type:
/myslottest -- run all tests
/myslottest <filter> -- run only tests whose name matches <filter>
The results are shown in a pop-up you can copy with Ctrl+A / Ctrl+C. Tests cannot run in combat.
Changing Protobuf
Myslot use a modified version of lua-pb to serialize/deserialize the data. You may want to change the data structure sometimes if you want add some new things to export.
Please check lua-pb about how to generate protobuf stub files.
Copyright and License
- Copyright (C) 2009-2026 by Boshi Lian <[email protected]>
- Use of this software for profit purposes are NOT allowed except by prior arrangement and written consent of the author.
- This software is licensed under the Apache License, Version 2.0
- All rights of Exported text are owned by end-users.
-
View User Profile
-
Send Message
Posted Jan 31, 2026In reply to oishii1992:
I want to share my Blizzard default Cooldown Manager settings with my alts. I know I can set them up manually one by one, but I would love to see a feature where I can export and import these settings through MySlot, so all my characters can share the same setup easily
-
View User Profile
-
Send Message
Posted Jun 27, 2026@Mr_Jay__0_0 supported
-
View User Profile
-
Send Message
Posted Jan 26, 2026Destroyed the action bars on one of my chars. Took me hours to fix it. I exported a profil without the action bars, imported it on a different char and the bars were all gone. At first deleted all the data on that char in the WTF Folder, the savedvariables of bartender and your addon, nothing. Even deleting the wtf folder, cache folder, doing a rollback on a backup of the interface and wtf folder didn't fixed it. Only after i was close to give up i tried to import a different export with!!! the actions bars brought the bars back on that char. So take care if that happens to you, too.
-
View User Profile
-
Send Message
Posted Jan 31, 2026In reply to IggyDarr:
there is a Before Last Import for you to backup
-
View User Profile
-
Send Message
Posted Jan 23, 2026Does this copy over CDM profiles/setup with Midnight?
-
View User Profile
-
Send Message
Posted Jan 23, 2026In reply to kiiiNEX:
combat assist, right? it will copy the button, did not the profile store in cloud?
-
View User Profile
-
Send Message
Posted Jan 23, 2026In reply to oishii1992: No, I mean the profile of what spells are stored in the Blizz Cooldown Manager, i.e. what spells in "Essential", "Utility", "Buffs" etc. These seem to be character specific profiles, even if different characters share the same class/spec.
-
View User Profile
-
Send Message
Posted Jan 22, 2026Is there a command to clear the cooldown manager completely, or do you still have to remove everything manually one by one?
-
View User Profile
-
Send Message
Posted Jan 23, 2026In reply to Rubyurek:
open option, you will see a helper for cleaning up
-
View User Profile
-
Send Message
Posted Jan 25, 2026In reply to oishii1992: I know these options but only for action bars, keybinds and macros. What about the cooldown manager? Will you possibly add this in the future?
-
View User Profile
-
Send Message
Posted Jan 19, 2026I have not been able to get this addon to work.
I logged onto my main paladin & saved profiles based on his three specs, each containing his saved actions bars 1-6, his skyriding bar, & his keybindings & saved each profile under names for each spec (Paladin Holy, Paladin Protection & Paladin Retribution). I then logged onto my other paladin, checked action bars 1-6, skyriding bar & keybindings & have attempted to "Import" via the Myslot addon, to no avail.
I have disabled all other addons & relogged & reattempted to import these profiles & nothing has changed.
-
View User Profile
-
Send Message
Posted Jan 20, 2026In reply to piediddly:
checked means IGNORE, are you sure that is what you want?
or did you see any error?
-
View User Profile
-
Send Message
Posted Jan 17, 2026yes plz
-
View User Profile
-
Send Message
Posted Jan 20, 2026In reply to cynotikah:
supported in 5.25.2
-
View User Profile
-
Send Message
Posted Jan 14, 2026Any plans to release a TBC Anniversary version?
-
View User Profile
-
Send Message
Posted Jan 15, 2026In reply to Shadowrich: i am wondering too...
-
View User Profile
-
Send Message
Posted Jan 16, 2026In reply to Shadowrich:
Will support it, i am looking for testing account and will update soon
-
View User Profile
-
Send Message
Posted Dec 26, 2025This addon breaks the LFG tool in Classic Anniversary. When I list a group, the tool just says Searching... instead of showing the listed players/groups for the category. A reload fixes the LFG tool but it breaks any time you update the group listing.
1x [ADDON_ACTION_BLOCKED] AddOn 'Myslot' tried to call the protected function 'Search()'.
[!BugGrabber/BugGrabber.lua]:583: in function '?'
[!BugGrabber/BugGrabber.lua]:507: in function <!BugGrabber/BugGrabber.lua:507>
[C]: in function 'Search'
[Blizzard_GroupFinder_VanillaStyle/Blizzard_LFGVanilla_Browse.lua]:250: in function 'LFGBrowse_DoSearch'
[Blizzard_GroupFinder_VanillaStyle/Blizzard_LFGVanilla_Browse.lua]:189: in function 'SearchActiveEntry'
[Blizzard_GroupFinder_VanillaStyle/Blizzard_LFGVanilla_ParentFrame.lua]:95: in function 'LFGParentFrame_SearchActiveEntry'
[Blizzard_GroupFinder_VanillaStyle/Blizzard_LFGVanilla_Listing.lua]:77: in function <...pFinder_VanillaStyle/Blizzard_LFGVanilla_Listing.lua:54>
Locals:
self = <table> {
}
event = "ADDON_ACTION_BLOCKED"
addonName = "Myslot"
addonFunc = "Search()"
name = "Myslot"
badAddons = <table> {
Myslot = true
}
L = <table> {
ADDON_CALL_PROTECTED_MATCH = "^%[(.*)%] (AddOn '.*' tried to call the protected function '.*'.)$"
NO_DISPLAY_2 = "|cffffff00The standard display is called BugSack, and can probably be found on the same site where you found !BugGrabber.|r"
ERROR_DETECTED = "%s |cffffff00captured, click the link for more information.|r"
USAGE = "|cffffff00Usage: /buggrabber <1-%d>.|r"
BUGGRABBER_STOPPED = "|cffffff00There are too many errors in your UI. As a result, your game experience may be degraded. Disable or update the failing addons if you don't want to see this message again.|r"
STOP_NAG = "|cffffff00!BugGrabber will not nag about missing a display addon again until next patch.|r"
ADDON_DISABLED = "|cffffff00!BugGrabber and %s cannot coexist; %s has been forcefully disabled. If you want to, you may log out, disable !BugGrabber, and enable %s.|r"
NO_DISPLAY_STOP = "|cffffff00If you don't want to be reminded about this again, run /stopnag.|r"
NO_DISPLAY_1 = "|cffffff00You seem to be running !BugGrabber with no display addon to go along with it. Although a slash command is provided for accessing error reports, a display can help you manage these errors in a more convenient way.|r"
ERROR_UNABLE = "|cffffff00!BugGrabber is unable to retrieve errors from other players by itself. Please install BugSack or a similar display addon that might give you this functionality.|r"
ADDON_CALL_PROTECTED = "[%s] AddOn '%s' tried to call the protected function '%s'."
}
-
View User Profile
-
Send Message
Posted Dec 27, 2025In reply to FatRat_:
myslot does not call `Search`, could you please guide me how to repro?
-
View User Profile
-
Send Message
Posted Dec 28, 2025In reply to oishii1992: Sure! On Classic Anniversary, create a group listing for a dungeon and list the group. The list of existing groups and players queued should show up ideally, but instead what happens is the list just shows "Searching..." and does not show the list of groups/players so you have to reload in order to see them. Bugsack/BugGrabber caught this error, I do have other addons installed but after disabling Myslot the issue stopped happening.
I also couldn't find Search() in the Myslot code, so I'm also confused as to how the error happened. I re-enabled myslot, listed myself for a dungeon and got the same error:
2x [ADDON_ACTION_BLOCKED] AddOn 'Myslot' tried to call the protected function 'Search()'.
[!BugGrabber/BugGrabber.lua]:583: in function '?'
[!BugGrabber/BugGrabber.lua]:507: in function <!BugGrabber/BugGrabber.lua:507>
[C]: in function 'Search'
[Blizzard_GroupFinder_VanillaStyle/Blizzard_LFGVanilla_Browse.lua]:250: in function 'LFGBrowse_DoSearch'
[Blizzard_GroupFinder_VanillaStyle/Blizzard_LFGVanilla_Browse.lua]:189: in function 'SearchActiveEntry'
[Blizzard_GroupFinder_VanillaStyle/Blizzard_LFGVanilla_ParentFrame.lua]:95: in function 'LFGParentFrame_SearchActiveEntry'
[Blizzard_GroupFinder_VanillaStyle/Blizzard_LFGVanilla_Listing.lua]:77: in function <...pFinder_VanillaStyle/Blizzard_LFGVanilla_Listing.lua:54>
Locals:
self = <table> {
}
event = "ADDON_ACTION_BLOCKED"
addonName = "Myslot"
addonFunc = "Search()"
name = "Myslot"
badAddons = <table> {
Myslot = true
}
Note this didn't happen listing for quests, only seems to be for dungeons.