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 Aug 11, 2026@user_455cu9nkt95a75dm I used fading for out of combat, once i turned it off my error stopped, so I don't know what else might be going on, i also did a reload after turning off the fading. Hope it gets fixed soon, good luck!
-
View User Profile
-
Send Message
Posted Aug 11, 2026@user_455cu9nkt95a75dm do you have the Single-Button Assistant on a bar? That is causing errors as well
-
View User Profile
-
Send Message
Posted Aug 11, 2026@user_455cu9nkt95a75dm be sure to check the other bars such as bags, micro bar, etc
-
View User Profile
-
Send Message
Posted Aug 11, 2026@ciranidd That's it!!! I had it on my bars still while i was learning the rotation. Took it off and the problem went away. Thank you so much!!!
-
View User Profile
-
Send Message
Posted Aug 11, 2026It took me a minute to find because the unchecked Button Grid option was hiding that bar, so if anyone has invisible bars that aren't supposed to be check that setting.
-
View User Profile
-
Send Message
Posted Aug 11, 2026Anyone else getting a Lua error that sounds like a machine gun with the new patch?
-
View User Profile
-
Send Message
Posted Aug 11, 2026@user_455cu9nkt95a75dm Only way I have found to even play the game without getting the nasty lua popup is disabling this addon. Which then makes a bar mess of my screen. Don't know if it sounds like a machine gun or not, but the lua count is basically a free spinning ticker when I bring the /console scriptErrors 1 screen up.
-
View User Profile
-
Send Message
Posted Aug 11, 2026@user_zgj4o63176zdd38m91945 yep thats exactly whats happening
-
View User Profile
-
Send Message
Posted Aug 11, 2026@user_455cu9nkt95a75dm Yep! Same here. I get a popup about addons and a loud noise. Narrowed it down to this addon.
-
View User Profile
-
Send Message
Posted Aug 11, 2026Fade out isn't working in 12.1 :(
-
View User Profile
-
Send Message
Posted Aug 11, 2026To add to this if its helpful:
3016x Bartender4/Bar.lua:417: attempt to call a nil value
[Bartender4/Bar.lua]:417: in function <Bartender4/Bar.lua:415>
[Bartender4/Bar.lua]:431: in function 'ControlFadeOut'
[Bartender4/Bar.lua]:133: in function <Bartender4/Bar.lua:129>
[C]: ?
[C]: in function 'SetAttribute'
[Blizzard_RestrictedAddOnEnvironment/RestrictedFrames.lua]:534: in function 'SetAttribute'
[ if not newstate then return end
if newstate == "show" then
self:Show()
self:SetAttribute("fade", false)
elseif strsub(newstate, 1, 4) == "fade" then
self:Show()
self:SetAttribute("fade", (newstate == "fade") and true or strsub(newstate, 6))
elseif newstate == "hide" then
self:Hide()
end
]:7: in function <[string " if not newstate then return end..."]:1>
[tail call]: ?
[C]: ?
[Blizzard_RestrictedAddOnEnvironment/RestrictedExecution.lua]:481: in function <...d_RestrictedAddOnEnvironment/RestrictedExecution.lua:444>
[tail call]: ?
[Blizzard_RestrictedAddOnEnvironment/SecureHandlers.lua]:112: in function <...izzard_RestrictedAddOnEnvironment/SecureHandlers.lua:107>
...[Bartender4/ButtonBar.lua]:47: in function 'ApplyConfig'
[Bartender4/StateBar.lua]:65: in function 'ApplyConfig'
[Bartender4/ActionBar.lua]:52: in function 'ApplyConfig'
[Bartender4/ActionBars.lua]:363: in function 'Create'
[Bartender4/ActionBars.lua]:150: in function <Bartender4/ActionBars.lua:142>
[C]: ?
[AccWideUILayoutSelection/Libs/AceAddon-3.0/AceAddon-3.0.lua]:66: in function <...UILayoutSelection/Libs/AceAddon-3.0/AceAddon-3.0.lua:61>
[AccWideUILayoutSelection/Libs/AceAddon-3.0/AceAddon-3.0.lua]:523: in function 'EnableAddon'
[AccWideUILayoutSelection/Libs/AceAddon-3.0/AceAddon-3.0.lua]:536: in function 'EnableAddon'
[AccWideUILayoutSelection/Libs/AceAddon-3.0/AceAddon-3.0.lua]:626: in function <...UILayoutSelection/Libs/AceAddon-3.0/AceAddon-3.0.lua:611>
Locals:
bar=BT4Bar1 <Bar.lua:152>{
id="1"
hidedriver=<table>
module=<table>
config=<table>
name="Bar 1"
bindingmapping="ACTIONBUTTON%d"
elapsed=0
overlay=BT4Bar1Overlay <Bar.lua:165>
}
LABSpellFlyout=nil
(*temporary)=nil
(*temporary)=BT4Bar1Overlay <Bar.lua:165>{
Text=FontString <Bar.lua:182>
Center=Texture <NineSlice.lua:52>
RightEdge=Texture <NineSlice.lua:52>
BottomEdge=Texture <NineSlice.lua:52>
TopRightCorner=Texture <NineSlice.lua:52>
BottomRightCorner=Texture <NineSlice.lua:52>
BottomLeftCorner=Texture <NineSlice.lua:52>
TopEdge=Texture <NineSlice.lua:52>
TopLeftCorner=Texture <NineSlice.lua:52>
backdropInfo=<table>
LeftEdge=Texture <NineSlice.lua:52>
bar=BT4Bar1 <Bar.lua:152>
}
(*temporary)="attempt to call a nil value"
LAB=<table>{
callbacks=<table>
activeButtons=<table>
ACTION_HIGHLIGHT_MARKS=<table>
eventFrame=Frame <LibActionButton-1.0.lua:59>
nonActionButtons=<table>
actionButtons=<table>
actionButtonsNonUI=<table>
NumChargeCooldowns=0
buttonRegistry=<table>
FlyoutInfo=<table>
-
View User Profile
-
Send Message
Posted Aug 6, 2026hello everytime i log out on my main the action bars all reset and so do my damage meater and questie how can i fix this?
-
View User Profile
-
Send Message
Posted Aug 5, 2026WoW 12.1 PTR removes the global MouseIsOver() helper, causing repeated errors in Bar.lua:417 when Bartender4 evaluates bar fading.
The fix is to replace the three calls to:
MouseIsOver(frame)
with the still-supported frame method:
frame:IsMouseOver()
This applies to bar.overlay, SpellFlyout, and LABSpellFlyout in MouseIsOverBar(). The change preserves the existing fade and flyout-hover behavior. Tested on PTR build 12.1.0.69111 with Bartender4 4.17.8-2-g925f42e.
-
View User Profile
-
Send Message
Posted Aug 4, 2026using latest alpha, with a fresh install, fadeout doesnt work on the 12.1 PTR
bar.lua: lua417: attempt to call a nil value
disabling fadeout fixed the issue
Seems to be an issue with Bartender4/libs/LibActionButton-1.0/LibActionButton-1.0.lua, but im not entirely sure
-
View User Profile
-
Send Message
Posted Aug 3, 2026I dont see the Reputation and XP Bar. It is active. And i know where it should be because is do see the Green Rectangle. But the actual Bars dont show up at all.
-
View User Profile
-
Send Message
Posted Aug 3, 2026LUA_WARNING: ExtraAbilityContainer:SetPoint(): Couldn't find region named 'BT4BarExtraActionBar'
Any way to fix this in retail?
-
View User Profile
-
Send Message
Posted Aug 2, 2026Not sure how and if i can update the addon so here's a fix for the keyring in anniversary:
Open this file with notepad or another text editor: Interface/AddOns/Bartender4/Options/BagBar.lua
1) Delete the following line:
local WoWClassicEra = (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC)
2) Replace "function BagBarMod:OnEnable()" with:
function BagBarMod:OnEnable()
if KeyRingButton and not self.db.profile.anniversaryKeyringMigrated then
self.db.profile.keyring = true
self.db.profile.anniversaryKeyringMigrated = true
end
3) Replace "if WoWClassicEra and KeyRingButton then
KeyRingButton:SetScript("OnShow", nil)"
with:
if KeyRingButton then
KeyRingButton:SetScript("OnShow", nil)
4) Replace "if KeyRingButton and WoWClassicEra and self.config.keyring then" with:
if KeyRingButton and self.config.keyring then
5) Save the file.
Now open: Interface/AddOns/Bartender4/Options/BagBar.lua
1) Delete the following line:
local WoWClassicEra = (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC)
2) Replace "if WoWClassicEra then" with:
if KeyRingButton then
3) Save the file.
Finally, /reload ingame and hopefully it works. Should also see the option "keyring" in the addon settings. GL
-
View User Profile
-
Send Message
Posted Jul 29, 2026Did Bartender4 disappear into the abyss of history? Will there be any other updates that would work?
-
View User Profile
-
Send Message
Posted Jul 29, 2026So I have spent a couple of hours now trying to play druid in HC classic... and whenever I switch into cat form and begin an attack I get switched back into human form. I have a cat ability bar enabled... and my abilities show up when I switch into cat form... but they revert to human abilities when I attack. Help!
-
View User Profile
-
Send Message
Posted Jul 26, 2026My action bars keep disappearing, and keybinds doesnt work. Sometimes things work on one char, but whenever i reload or relog everything is ruined again. Feel like ive been trying everything and its kinda frustrating. Hope for a solution to the problem so I can play again.