We have moved to Warcraft Wiki. Click here for information and the new URL.


This function is implemented in FrameXML/ContainerFrame.lua.
  • OpenAllBags() opens the backpack and bags, unless at least one bag (other than the backpack) was already open.
  • CloseAllBags() closes the backpack and bags, unless another frame had reserved them open
  • ToggleAllBags() opens the backpack, bags and bank bags, unless all were open and then it closes them all
OpenAllBags( [frame][, forceUpdate] )
CloseAllBags( [frame][, forceUpdate] )


Object - Handle to the frame requesting OpenAllBags(), to reserve this open state and thus prevent other frames from executing CloseAllBags()
Boolean - Optional flag to force ContainerFrame_UpdateAll() should execution halt part-way through the function.


  • OpenAllBags() will remember the frame who requested that all bags open, and block CloseAllBags() until called by the same frame
  • forceUpdate does not change the open/close state, but instead guarantees the containers will execute their Update() functions even if either of the following happen:
    • OpenAllBags() does nothing (a bag was already open); or
    • CloseAllBags() does nothing (another frame reserved the open state).
  • ToggleAllBags() disregards everything and forces all bags to either open or closed

Patch changes[]

  • Battle for Azeroth Patch 8.1.0 (2018-12-11): OpenAllBags() and CloseAllBags() now also have forceUpdate as a second optional argument.[1]
  • Cataclysm Patch 4.1.0 (2011-04-26): OpenAllBags() and CloseAllBags() now receive a frame handle as a sole optional argument.[2]
    OpenAllBags() previously had boolean forceOpen, and CloseAllBags previously had no arguments.
  • Cataclysm Patch 4.1.0 (2011-04-26): ToggleAllBags() added.[2]

See Also[]


  1. ^ ContainerFrame.lua, version, near line 1530, archived at Townlong-Yak
  2. ^ a b ContainerFrame.lua, version, near line 800, archived at Townlong-Yak