Bartender4
Bartender4 is a full ActionBar replacement mod. It provides you with all the features needed to fully customization most aspects of your action and related bars.
Bartender4 in Midnight: As of version 4.16.5, Midnight support is in preview - it'll be worked on until release, of course.
Major Changes since Dragonflight / 10.0
- Hold-to-cast is not currently available for addons
- Action Bars have been slightly re-arranged in Bartender4 for Dragonflight and beyond
- Bar 1-8 now reflect Blizzard Bars 1-8 (these are old 1, 3-6, and the 3 new bars)
- The old bars 7-10 are now called "Class Bar 1-4" (Shapeshifting, Stances, etc)
- The old bar 2 is now called Bonus Action Bar
Features
- Support for all Action Bars and all related bars
- 10 Action Bars (13 in Dragonflight & War Within!)
- Stance Bar
- Pet Bar
- Bag Bar
- Micro Menu
- XP/Reputation Bar
- All Bars are fully customizable (Scale, Alpha, Fade-Out settings, ...)
- Very flexible and customizable Show/Hide driver based on Macro Conditions
- Additional Layout and Paging settings for Action Bars
- Page all bars based on Stance or Modifier
- Possess Bar support
- Custom State driver support with Macro Conditions
- Options to hide specific elements of the buttons (Macro Text, HotKey, more could be added on demand)
- StickyFrames support
- Masque/ButtonFacade support!
- Easy Hotkey Binding using KeyBound
- Options to control the hiding of the default blizzard artwork (you might still want that to be displayed..)
FAQ
Q: I cannot move/drag my skills on my bars?
A: Hold Shift to move skills safely. You can also unlock your bars in the Bartender4 options, but using Shift is safer and recommended.
Q: How do i access the Configuration?
A: You can open the configuration with the Slash Commands (/bt or /bartender) or through the Bartender4 LDB plugin.
Q: Where are my keybindings? And how do i bind new keys?
A: Bartender4 buttons should automatically inherit keybindings from the Blizzard bars. For new keybindings, you can use KeyBound to re-bind your keys. You can access KeyBound by its slash command (/kb) or through the button in the BT4 config. Hover a button, press key → voila!
Q: Can I skin the buttons beyond the built-in options?
A: Bartender4 allows skinning through Masque! After installing both Bartender4 and Masque, you can customize the BT4 appearance in the Masque options.
Q: How do i disable the snapping of the bars?
A: Currently, you can temporarily override the snapping by holding down the Shift Key while moving your bars, or uncheck the option in the popup when your bars are unlocked.
Feature Requests/Bug Tracker
Please submit Bugs and/or Feature Requests using the Ticket System on the WoWAce Project page or in the Bartender4 Forum Thread. Please provide as many information as possible, including your client language, the exact version you are running, how to reproduce any errors, and a stack trace, if applicable.
Links
WoWAce Project: Bartender4 on WoWAce
Custom State Header: Info page on WoWAce
-
View User Profile
-
Send Message
Posted Jan 22, 2026I've got a strange problem (started occuring in december, so long before prepatch) that I think I've diagnosed. I've always played with bar 1 hidden, which is my main rotational stuff. If i log in with bar 1 hidden and mount up, none of my dragonflight buttons work, EVEN if I unhide the bar. But if i log in with bar 1 visible and mount up, the dragonflight buttons work, even if I hide the bar. Surely this is related to state configuration, which have never modified, but I simply cannot figure out how to troubleshoot this.
-
View User Profile
-
Send Message
Posted Jan 21, 2026I'm using bartender as a replacement for weakauras, would it be possible to have an option to desaturate spell icons when they're on cooldown?
-
View User Profile
-
Send Message
Posted Jan 21, 2026I'm going insane.
I set a bar's state configuration to use custom conditions, and then I set that condition to this:
[target,exists] 6; hide
I would assume, then, that if I have a target, it would show bar 6; if I have no target, it would hide the bar.
And it does that... usually. But if I so much as look at something, it shows the bar.
I think this has to do with soft targeting or action targeting, but I have mine turned OFF.
ElvUI didn't do this... any ideas?
-
View User Profile
-
Send Message
Posted Jan 21, 2026TBC anniversary any1 have also problem with xp and reputation bars are missing ?
-
View User Profile
-
Send Message
Posted Jan 21, 2026Does anyone know how to fix the message that appears in the spellbook: ‘You have added this to an action bar that is hidden or disabled’?
-
View User Profile
-
Send Message
Posted Jan 22, 2026In reply to riellino:
You can remove that by enabling the bar you are using in blizzard's option. That won't affect visibility of the actual bar since that's controlled by bartender.
If the spell is on one of the class bars, you're probably out of luck.
-
View User Profile
-
Send Message
Posted Jan 21, 2026Just works for me in midnight prepatch. Only other addon is tomtom.
-
View User Profile
-
Send Message
Posted Jan 20, 2026bad argument #2 to '?' (Usage: self:SetVertexColor(color [, a]))
[tail call]: ?
[C]: in function 'SetVertexColor'
[Bartender4/libs/AceGUI-3.0-41/widgets/AceGUIWidget-ColorPicker.lua]:149: in function 'SetColor'
[Bartender4/libs/AceConfig-3.0-3/AceConfigDialog-3.0-92/AceConfigDialog-3.0.lua]:1385: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:1118>
[Bartender4/libs/AceConfig-3.0-3/AceConfigDialog-3.0-92/AceConfigDialog-3.0.lua]:1145: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:1118>
[Bartender4/libs/AceConfig-3.0-3/AceConfigDialog-3.0-92/AceConfigDialog-3.0.lua]:1650: in function 'FeedGroup'
[Bartender4/libs/AceConfig-3.0-3/AceConfigDialog-3.0-92/AceConfigDialog-3.0.lua]:1575: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:1559>
[C]: ?
[Bartender4/libs/AceGUI-3.0-41/AceGUI-3.0.lua]:66: in function <...aceBartender4/libs/AceGUI-3.0/AceGUI-3.0.lua:64>
[Bartender4/libs/AceGUI-3.0-41/AceGUI-3.0.lua]:300: in function 'Fire'
[Bartender4/libs/AceGUI-3.0-41/widgets/AceGUIContainer-TabGroup.lua]:342: in function 'SelectTab'
[Bartender4/libs/AceConfig-3.0-3/AceConfigDialog-3.0-92/AceConfigDialog-3.0.lua]:1686: in function 'FeedGroup'
...[Bartender4/libs/AceGUI-3.0-41/widgets/AceGUIContainer-TreeGroup.lua]:530: in function 'SelectByValue'
[Bartender4/libs/AceConfig-3.0-3/AceConfigDialog-3.0-92/AceConfigDialog-3.0.lua]:1746: in function 'FeedGroup'
[Bartender4/libs/AceConfig-3.0-3/AceConfigDialog-3.0-92/AceConfigDialog-3.0.lua]:1930: in function 'Open'
[ShadowedUF_Options/config.lua]:6686: in function 'Open'
[ShadowedUnitFrames/ShadowedUnitFrames.lua]:954: in function '?'
[Blizzard_ChatFrameBase/Shared/ChatFrameEditBox.lua]:227: in function <...s/Blizzard_ChatFrameBase/Shared/ChatFrameEditBox.lua:174>
[C]: in function 'ParseText'
[Blizzard_ChatFrameBase/Shared/ChatFrameEditBox.lua]:252: in function <...s/Blizzard_ChatFrameBase/Shared/ChatFrameEditBox.lua:251>
[C]: in function 'SendText'
[Blizzard_ChatFrameBase/Shared/ChatFrameEditBox.lua]:370: in function <...s/Blizzard_ChatFrameBase/Shared/ChatFrameEditBox.lua:366>
-
View User Profile
-
Send Message
Posted Jan 20, 20261x [ADDON_ACTION_BLOCKED] AddOn 'Bartender4' tried to call the protected function 'MultiBarBottomLeftButton4:SetAttribute()'.
[!BugGrabber/BugGrabber.lua]:583: in function '?'
[!BugGrabber/BugGrabber.lua]:507: in function <!BugGrabber/BugGrabber.lua:507>
[C]: in function 'SetAttribute'
[Blizzard_ActionBar/Shared/ActionButton.lua]:521: in function 'UpdatePressAndHoldAction'
[Blizzard_ActionBar/Shared/ActionButton.lua]:596: in function 'Update'
[Blizzard_ActionBar/Shared/ActionButton.lua]:544: in function 'UpdateAction'
[Blizzard_ActionBar/Shared/ActionButton.lua]:1070: in function 'OnEvent'
[Blizzard_ActionBar/Shared/ActionButton.lua]:223: in function <...ceBlizzard_ActionBar/Shared/ActionButton.lua:220>
Locals:
self = <table> {
}
event = "ADDON_ACTION_BLOCKED"
addonName = "Bartender4"
addonFunc = "MultiBarBottomLeftButton4:SetAttribute()"
name = "Bartender4"
badAddons = <table> {
Bartender4 = 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 Jan 19, 2026Been using for 15 years. Unfortunate that it still doesnt support LibSharedMedia so u can modify the fonts.
-
View User Profile
-
Send Message
Posted Jan 19, 2026PTR 1/19/26 log in or /reload gets this error 1x Bartender4/locale/koKR.lua:1 Bartender4/locale/koKR.lua:8: '=' expected near 'code'
-
View User Profile
-
Send Message
Posted Jan 19, 2026In reply to speedenbull: same as prepatch
-
View User Profile
-
Send Message
Posted Jan 19, 2026First of all thank you for the wotk and time you put into Bartender much appreciated!
I have these errors upon logging in today -
1 -
1x Bartender4/locale/koKR.lua:8: '=' expected near 'code'
Locals:
2 -
1x Bartender4/locale/koKR.lua:1 Bartender4/locale/koKR.lua:8: '=' expected near 'code'
and then i have this error from before the update as well -
5x [ADDON_ACTION_BLOCKED] AddOn 'Bartender4' tried to call the protected function 'MainMenuBarVehicleLeaveButton:ClearAllPoints()'.
[!BugGrabber/BugGrabber.lua]:583: in function '?'
[!BugGrabber/BugGrabber.lua]:507: in function <!BugGrabber/BugGrabber.lua:507>
[C]: in function 'ClearAllPoints'
[Bartender4/VehicleBar.lua]:120: in function 'PerformLayout'
[Bartender4/VehicleBar.lua]:97: in function <Bartender4/VehicleBar.lua:96>
[tail call]: ?
[C]: in function 'UpdateBottomActionBarPositions'
[Blizzard_EditMode/Shared/EditModeManager.lua]:549: in function 'UpdateActionBarLayout'
[Blizzard_ActionBar/Shared/ActionBar.lua]:364: in function 'UpdateVisibility'
[Blizzard_ActionBar/Shared/ActionBar.lua]:169: in function 'SetShowGrid'
[Blizzard_ActionBar/Shared/ActionBar.lua]:59: in function <...rfaceBlizzard_ActionBar/Shared/ActionBar.lua:57>
[C]: ?
[C]: ?
[C]: in function 'PickupAction'
[Blizzard_FrameXML/SecureHandlers.lua]:140: in function <Blizzard_FrameXML/SecureHandlers.lua:133>
[Blizzard_FrameXML/SecureHandlers.lua]:402: in function <Blizzard_FrameXML/SecureHandlers.lua:382>
[tail call]: ?
[C]: ?
[Blizzard_FrameXML/SecureHandlers.lua]:266: in function <Blizzard_FrameXML/SecureHandlers.lua:263>
[C]: ?
[Blizzard_FrameXML/SecureHandlers.lua]:408: in function <Blizzard_FrameXML/SecureHandlers.lua:382>
[tail call]: ?
Locals:
self = <table> {
}
event = "ADDON_ACTION_BLOCKED"
addonName = "Bartender4"
addonFunc = "MainMenuBarVehicleLeaveButton:ClearAllPoints()"
name = "Bartender4"
badAddons = <table> {
Bartender4 = 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'."
}
hope these help in making the addon stable.
-
View User Profile
-
Send Message
Posted Jan 18, 2026Is it possible to allow /click macros to work with Bartender4? For some reason the "Button Lock" option (enabled by default) completely breaks them.
-
View User Profile
-
Send Message
Posted Jan 18, 2026Returning after not playing for 2+ years. My bars are still in the locations I placed them but the spells they were populated with are gone? And it looks like some were renamed as "Class Bar". Confused - hoping I don't have to redo all on my many toons.
-
View User Profile
-
Send Message
Posted Jan 18, 2026Hi, I was just wondering if it'd be terribly difficult to make hotbars non-interactable (i.e. not reacting to my cursor movements at all)? Or is that not feasible within the constraints Midnight provides?
-
View User Profile
-
Send Message
Posted Jan 17, 2026In the latest update did the frame glow get updated or am I crazy? Is there any way to change it back? The new animation just seems a little slower than the old one.
-
View User Profile
-
Send Message
Posted Jan 17, 2026TBC Anniversary: Whenever I use Attack there is a red border around the symbol but its position is off.
In general every position is a little off
-
View User Profile
-
Send Message
Posted Jan 17, 2026Bartender has a conflict with UI AddOns. Other Addons cant show the Pet UI Frame with Healthbars cause they say, Bartender is already handle it
-
View User Profile
-
Send Message
Posted Jan 15, 2026Can't cast pet rez from book with BT4 installed on TBC Anniversary.