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 Nov 11, 2026Experiencing bugs with the totem bar. It suddenly changes location on the screen when I enter combat. Anyone else?
-
View User Profile
-
Send Message
Posted Nov 11, 2026Anyione know how to copy my profile from retail to Forever?
-
View User Profile
-
Send Message
Posted Nov 11, 2026In reply to weltallica:
In the launcher, click the gear icon next to the play button and select 'open in explorer'.
The file you want is '_retail_\WTF\Account\WOW1\SavedVariables\Bartender4.lua', and should be copied to the same location under '_forever_\'. You may need to replace WOW1 with your wow account name if you have a very old wow account or if you have multiple wow accounts on your battle.net account.
The same process with a different source directory should work to copy your settings from the forever beta; I think that was _classic_beta_ but I'm not sure and I deleted mine already.
-
View User Profile
-
Send Message
Posted Nov 11, 2026In WoW Forever, the Possess Bar option doesn't work with Mind Control. Bar 1 disappears, but no bar replaces it.
-
View User Profile
-
Send Message
Posted Nov 10, 2026Anyone got a working macro to toggle visibility of specific bars? Every one I've found via "The Google" throws errors.
-
View User Profile
-
Send Message
Posted Nov 10, 2026Date: 2026-11-09 20:52:48
ID: -3
Error occured in: AddOn: Bartender4
Count: 20
Message: Note: AddOn Bartender4 attempted to call a protected function (SecondaryStatusTrackingBarContainer:ClearAllPoints()) during combat lockdown.
Debug:
[C]: in function 'ClearAllPoints'
[Interface/AddOns/Bartender4/StatusTrackingBar.lua]:90:
Interface/AddOns/Bartender4/StatusTrackingBar.lua:83
[tail call]: ?
[C]: in function 'UpdateBottomActionBarPositions'
[Interface/AddOns/Blizzard_EditMode/Shared/EditModeManager.lua]:587: in function 'UpdateActionBarLayout'
[Interface/AddOns/Blizzard_ActionBar/Shared/ActionBar.lua]:373: in function 'UpdateVisibility'
[Interface/AddOns/Blizzard_ActionBar/Shared/ActionBar.lua]:336: in function 'HideOverride'
[Interface/AddOns/Blizzard_ActionBar/Shared/ActionBar.lua]:317: in function 'SetShown'
[Interface/AddOns/Blizzard_ActionBar/Shared/StanceBar.lua]:45: in function 'Update'
[Interface/AddOns/Blizzard_ActionBarController/ActionBarController.lua]:151:
...Blizzard_ActionBarController/ActionBarController.lua:145
[C]: in function 'ActionBarController_UpdateAll'
[Interface/AddOns/Blizzard_ActionBarController/ActionBarController.lua]:68:
...Blizzard_ActionBarController/ActionBarController.lua:55
Locals:
self=<table>{
modules=<table>
defaultModuleLibraries=<table>
name="Bartender4_StatusTrackingBar"
orderedModules=<table>
bar=BT4BarStatus <Bar.lua:152>
baseName="Bartender4"
defaultModuleState=true
db=<table>
enabledState=true
hooks=<table>
moduleName="StatusTrackingBar"
}
yOffset=-3
Bartender4=<table>{
CONFIG_VERSION=3
modules=<table>
baseName="Bartender4"
petBattleController=Frame <Bartender4.lua:153>
PetButton=<table>
defaultModulePrototype=<table>
defaultModuleState=true
Util=<table>
GameType=<table>
db=<table>
enabledState=true
Features=<table>
Bar=<table>
defaultModuleLibraries=<table>
ButtonBar=<table>
vehicleController=Frame <Bartender4.lua:185>
UIHider=Frame <HideBlizzard.lua:44>
Locked=true
name="Bartender4"
finishedLoading=true
Compat=<table>
ActionBar=<table>
StanceMap=<table>
modulePrototype=<table>
hooks=<table>
orderedModules=<table>
StateBar=<table>
}
AddOns:
Swatter, v4.0.3
AtlasLootClassic, vv3.2.0-fix6a
AtlasLootClassicData, vv3.2.0-fix3
AtlasLootClassicDungeonsAndRaids, vv3.2.0-fix3
AtlasLootContinued, v12924
AtlasLootContinuedDungeonsAndRaids, v12924
AtlasLootContinuedFavourites, v12924
Attune, v16001-38
AucAdvanced, v4.0.3
AucFilterBasic, v4.0.3
AucScanData, v4.0.3
AucStatHistogram, v4.0.3
AucStatiLevel, v4.0.3
AucStatPurchased, v4.0.3
AucStatSimple, v4.0.3
AucStatStdDev, v4.0.3
AucUtilFixAH, v4.0.3
Bartender4, v4.18.4
BeanCounter, v4.0.3
DBMCore, v12.1.20
DBMStatusBarTimers, v12.1.20
DBMVPVEM, va8e9f0e
Enchantrix, v4.0.3
EnchantrixBarker, v4.0.3
ForeverLootSparkles, vv2.0.0
GatherMate2, v1.52.5
GoldCounter, v1.8.32
Informant, v4.0.3
LibDBIcon10, vv12.1.2
MapUtils, v1.5.2
OneForAll, v6.2.2
OpenMap, vv0.8.2
Rarity, v(v0.3.1)
Scrap, v12.1.8
ScrapMerchant, v12.1.8
SexyMap, vv12.1.7
SlideBar, v4.0.3
SpeedyAutoLoot, v125
Stubby, v4.0.3
ThreatMeter, v0.7.6
BlizRuntimeLib_enUS v1.60.1.16001 <none>
(ck=40e)
-
View User Profile
-
Send Message
Posted Nov 10, 2026Date: 2026-11-09 20:52:48
ID: -2
Error occured in: AddOn: Bartender4
Count: 40
Message: Note: AddOn Bartender4 attempted to call a protected function (SecondaryStatusTrackingBarContainer:SetPoint()) during combat lockdown.
Debug:
[C]: in function 'SetPoint'
[Interface/AddOns/Bartender4/StatusTrackingBar.lua]:91:
Interface/AddOns/Bartender4/StatusTrackingBar.lua:83
[tail call]: ?
[C]: in function 'UpdateBottomActionBarPositions'
[Interface/AddOns/Blizzard_EditMode/Shared/EditModeManager.lua]:587: in function 'UpdateActionBarLayout'
[Interface/AddOns/Blizzard_ActionBar/Shared/ActionBar.lua]:373: in function 'UpdateVisibility'
[Interface/AddOns/Blizzard_ActionBar/Shared/ActionBar.lua]:336: in function 'HideOverride'
[Interface/AddOns/Blizzard_ActionBar/Shared/ActionBar.lua]:317: in function 'SetShown'
[Interface/AddOns/Blizzard_ActionBar/Shared/StanceBar.lua]:45: in function 'Update'
[Interface/AddOns/Blizzard_ActionBarController/ActionBarController.lua]:151:
...Blizzard_ActionBarController/ActionBarController.lua:145
[C]: in function 'ActionBarController_UpdateAll'
[Interface/AddOns/Blizzard_ActionBarController/ActionBarController.lua]:68:
...Blizzard_ActionBarController/ActionBarController.lua:55
Locals:
self=<table>{
modules=<table>
defaultModuleLibraries=<table>
name="Bartender4_StatusTrackingBar"
orderedModules=<table>
bar=BT4BarStatus <Bar.lua:152>
baseName="Bartender4"
defaultModuleState=true
db=<table>
enabledState=true
hooks=<table>
moduleName="StatusTrackingBar"
}
yOffset=-3
Bartender4=<table>{
CONFIG_VERSION=3
modules=<table>
baseName="Bartender4"
petBattleController=Frame <Bartender4.lua:153>
PetButton=<table>
defaultModulePrototype=<table>
defaultModuleState=true
Util=<table>
GameType=<table>
db=<table>
enabledState=true
Features=<table>
Bar=<table>
defaultModuleLibraries=<table>
ButtonBar=<table>
vehicleController=Frame <Bartender4.lua:185>
UIHider=Frame <HideBlizzard.lua:44>
Locked=true
name="Bartender4"
finishedLoading=true
Compat=<table>
ActionBar=<table>
StanceMap=<table>
modulePrototype=<table>
hooks=<table>
orderedModules=<table>
StateBar=<table>
}
AddOns:
Swatter, v4.0.3
AtlasLootClassic, vv3.2.0-fix6a
AtlasLootClassicData, vv3.2.0-fix3
AtlasLootClassicDungeonsAndRaids, vv3.2.0-fix3
AtlasLootContinued, v12924
AtlasLootContinuedDungeonsAndRaids, v12924
AtlasLootContinuedFavourites, v12924
Attune, v16001-38
AucAdvanced, v4.0.3
AucFilterBasic, v4.0.3
AucScanData, v4.0.3
AucStatHistogram, v4.0.3
AucStatiLevel, v4.0.3
AucStatPurchased, v4.0.3
AucStatSimple, v4.0.3
AucStatStdDev, v4.0.3
AucUtilFixAH, v4.0.3
Bartender4, v4.18.4
BeanCounter, v4.0.3
DBMCore, v12.1.20
DBMStatusBarTimers, v12.1.20
DBMVPVEM, va8e9f0e
Enchantrix, v4.0.3
EnchantrixBarker, v4.0.3
ForeverLootSparkles, vv2.0.0
GatherMate2, v1.52.5
GoldCounter, v1.8.32
Informant, v4.0.3
LibDBIcon10, vv12.1.2
MapUtils, v1.5.2
OneForAll, v6.2.2
OpenMap, vv0.8.2
Rarity, v(v0.3.1)
Scrap, v12.1.8
ScrapMerchant, v12.1.8
SexyMap, vv12.1.7
SlideBar, v4.0.3
SpeedyAutoLoot, v125
Stubby, v4.0.3
ThreatMeter, v0.7.6
BlizRuntimeLib_enUS v1.60.1.16001 <none>
(ck=40e)
-
View User Profile
-
Send Message
Posted Nov 10, 2026concerning the totem bar moving when in combat: I made it fade out 100% and checked the Hide in Combat button. so its only visible when I hover over it out of combat for when I wanna setup call of elements, and just use regular totem actionbars for the occasional totem placement
-
View User Profile
-
Send Message
Posted Nov 10, 2026to fix [ADDON_ACTION_BLOCKED] AddOn 'Bartender4' tried to call the protected function 'MultiCastActionBarFrame:ClearAllPoints()'.
in Bartender4/MultiCastBar.lua, based on stock 4.18.4, are:
Line 19 — replace with:
local MultiCastMod = Bartender4:NewModule("MultiCast", "AceHook-3.0", "AceEvent-3.0")
Insert at line 89, immediately after function MultiCastBar:PerformLayout() and before self:SetSize(...):
-- Blizzard can refresh the action bars when the spellbook opens in combat.
-- Defer all geometry changes until protected frames can be moved again.
if InCombatLockdown() then
MultiCastMod:RegisterEvent("PLAYER_REGEN_ENABLED", "ApplySystemAnchor")
return
end
MultiCastMod:UnregisterEvent("PLAYER_REGEN_ENABLED")
This defers protected layout changes during combat and applies them once combat ends. AceEvent also cancels the pending update if the module is disabled. In-game confirmation is still needed.
-
View User Profile
-
Send Message
Posted Nov 9, 2026I tried this last night. It sits quietly until I opened Edit mode. Suddenly the speakers start making this "bbdbdbdbdbdbdbdbdbdbdb" sound and Wow says my addons are causing errors. Also, when downloading Bartender "hold to cast" stops working. disabled and it works again. I tried it a few times and anytime i used edit mode all hell broke loose.
-
View User Profile
-
Send Message
Posted Nov 9, 2026Totem bar keeps moving when engaging in combat, after combat ends i goes back to the original position.
-
View User Profile
-
Send Message
Posted Nov 9, 2026@user_7kf7j30z0850rd4y +1 on this issue. very annoying!
-
View User Profile
-
Send Message
Posted Nov 11, 2026@user_7kf7j30z0850rd4y Same!
-
View User Profile
-
Send Message
Posted Nov 9, 2026I play as a druid and when i try to power shift, the bars goes to humain form and dont go to the cat form or bear form i was in before. i have to leave form wait and then go back to whatt ever form i wanted to go in for the right bar to show up.
-
View User Profile
-
Send Message
Posted Nov 8, 2026Totem bars are randomly disappearing. Reloading UI brings them back but it eventually happens again.
-
View User Profile
-
Send Message
Posted Nov 8, 2026Weird visual bug in Forever, for some reason the exp bar keeps moving to the left in combat and then moving back to where it was afterward. Not sure what's causing it.
-
View User Profile
-
Send Message
Posted Nov 8, 2026are we getting the hold to cast repeatedly function back in forever? currently does not work while using bartender 4. going to have to stop using this addon without that
-
View User Profile
-
Send Message
Posted Nov 7, 2026help, if the addon is enabled blizz damage meter doesn't work (and skada)
-
View User Profile
-
Send Message
Posted Nov 7, 2026Is there a way to have Bartender behave like the stock action bars where you can make them "hidden in combat" but they still show up when dragging abilities around on other action bars or if you drag something from the spellbook?
It's sort of a nuisance to have to make in-combat bars visible again just to put abilities on it, especially while leveling when you're constantly moving stuff around or adding new abilities to action bars.
-
View User Profile
-
Send Message
Posted Nov 7, 2026Status bar DIDNT CHANGE if u using some macro with mods like mod:alt mod:shit mod:ctrl, but they still usable