ArkInventory
ArkInventory (for The War Within)
:boom: Please ensure you are using the latest alpha version if you have the War Within client.
ArkInventory (for Retail, Classic, and Cataclysm)
ArkInventory's display windows are built from "virtual bars", you assign categories to bars so that items in that category are displayed on the specific bars you want. There is no limit to the number of bars you can have inside a window but obviously you only have so much screen real estate before it becomes "too many".
ArkInventory uses several methods to assign a default category to an item such as what professions you have, tooltip scanning, basic type/subtype and PeriodicTable. You then assign those categories to a virtual bar.
You can also over-ride the default category by creating a rule that matches either a single or multiple items.
Overview:
- user configurable window width and height
- separate keybindings for each location for easy viewing
- assign items to a category of your choice (overrides the default assignment)
- assign categories to the bar of your choice
- unlimited number of bars (there are practical limits though before your screen becomes full)
- sort each bar differently if required
- user configurable bars per row
- sell junk items automatically or manually (delete available via a keybinding or right clicking when at a vendor)
- random pet and mount summons. can also assign a group of them to select from
Key Bindings:
- Press ESCAPE to bring up the blizzard menu
- click on Key Bindings
- scroll down to AddOns > ArkInventory
- bind the keys you want to use
Need Help?
:memo: Wiki
:memo: Frequently Asked Questions
:memo: Sorting
:memo: Rules
:memo: If you are having an issue the first step is to disable all other mods and test with only ArkInventory loaded
:memo: If the issue is still there, please check for an existing issue and create a new issue if required.
:memo: If the issue is gone, re-enable your other mods one by one until the issue comes back, then note the last mod you enabled in your issue as well as notifying the author of the other mod
See ChangeHistory.md for changes to the latest version. See VersionHistory.md for all previous changes.
:boom: The NoLib variant
it seems quite a few people are somehow getting the NoLib variant from their download client when they didn't specifically ask for it, instead of the full variant, and its causing issues as they don't have the required libraries installed separately. Please ensure you are downloading the full. if you see nolib in the filename then its the wrong variant, unless you are actually installing all of the required libraries separately as well. If you have to you can manually download the full variant from CurseForge, WoWInterface, or Wago.
:boom: Junk Sell getting blocked
While auto-destroy remains blocked, From 30960 onwards you can setup a Key Binding to manually sell and destroy your items. Note that blizzard require one keypress per item deletion, so if you have multiple items that need to be deleted you will need to press the Key Binding multiple times. A message will be output if you have remaining items that can still be deleted.
:warning: Ensure you have backup copies of your saved variables file
Sometimes you cannot revert back to a previous version without a backup, especially alpha or beta versions, so before upgrading please make sure you have made a backup of your saved variables file
Your saved variables file is normally located at ...\World of Warcraft\_client_\WTF\Account\yourwowaccountname\SavedVariables\ArkInventory.lua
It is your responsibility to ensure you have adequate backups of your saved variables file. You dont have to do them frequently, just after you've made major changes to your config is probably fine for most people, but you should get into the habit of making backups because when it does corrupt you wont have to reconfigure everything from scratch.
If you have your download client set to automatically download alpha/beta versions you should definitely have backups.
A simple way to back up the saved variables file is to just do a copy and paste then rename the new file (using the version number of ArkInventory or the date is a good idea), eg ArkInventory-30900.lua, or ArkInventory-20191228.lua
-
View User Profile
-
Send Message
Posted Jan 22, 2026Error when hovering on a bag item:
Message: ...e/AddOns/Blizzard_MoneyFrame/Mainline/MoneyFrame.lua:303: attempt to perform arithmetic on a secret value
Time: Thu Jan 22 12:45:56 2026
Count: 8
Stack:
[C]: ?
[Interface/AddOns/Blizzard_MoneyFrame/Mainline/MoneyFrame.lua]:303: in function 'MoneyFrame_Update'
[Interface/AddOns/Blizzard_MoneyFrame/Shared/MoneyFrame.lua]:637: in function 'SetTooltipMoney'
[Interface/AddOns/Blizzard_GameTooltip/Mainline/GameTooltip.lua]:317: in function 'GameTooltip_OnTooltipAddMoney'
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataRules.lua]:146: in function 'func'
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:56: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:51>
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:78: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:74>
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:166: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:165>
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:334: in function 'ProcessLineData'
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:315: in function 'ProcessLines'
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:292: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:245>
[C]: in function 'securecallfunction'
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:242: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:241>
[tail call]: ?
[C]: ?
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:517: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:506>
[C]: ?
[C]: in function 'SetBagItem'
[Interface/AddOns/ArkInventory/Core/ArkInventoryTooltip.lua]:311: in function <...ace/AddOns/ArkInventory/Core/ArkInventoryTooltip.lua:303>
[Interface/AddOns/ArkInventory/Core/ArkInventoryTooltip.lua]:484: in function 'TooltipSetFromStorageItem'
[Interface/AddOns/ArkInventory/Core/ArkInventory.lua]:9252: in function 'Frame_Item_UpdateTooltip'
[Interface/AddOns/ArkInventory/Core/ArkInventory.lua]:9450: in function 'Frame_Item_OnEnter'
[*ArkInventory.xml:353_OnEnter]:1: in function <[string "*ArkInventory.xml:353_OnEnter"]:1>
Locals:
-
View User Profile
-
Send Message
Posted Jan 21, 2026Error in Dungeons:
Message: ...ace/AddOns/ArkInventory/Core/ArkInventoryTooltip.lua:2000: bad argument #1 to 'UnitExists' (Usage: local result = UnitExists([unit]). Secret values are only allowed during untainted execution for this argument.)
Time: Wed Jan 21 15:54:51 2026
Count: 51
Stack:
[Interface/AddOns/ArkInventory/Core/ArkInventoryTooltip.lua]:2000: in function 'HookOnTooltipSetUnit'
[Interface/AddOns/ArkInventory/Core/ArkInventoryTooltip.lua]:3271: in function <...ace/AddOns/ArkInventory/Core/ArkInventoryTooltip.lua:3270>
[tail call]: ?
[C]: in function 'securecallfunction'
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:67: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:62>
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:87: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:83>
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:123: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:113>
[C]: in function 'SetAttribute'
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:148: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:141>
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:298: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:245>
[C]: in function 'securecallfunction'
[Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:242: in function 'ProcessInfo'
[Interface/AddOns/Blizzard_GameTooltip/Mainline/GameTooltip.lua]:994: in function 'SetWorldCursor'
[Interface/AddOns/Blizzard_UIParent/Mainline/UIParent.lua]:1268: in function <...rface/AddOns/Blizzard_UIParent/Mainline/UIParent.lua:1188>
Locals:
tooltip = GameTooltip {
ItemTooltip = Frame {
}
BottomOverlay = Texture {
}
NineSlice = Frame {
}
suppressAutomaticCompareItem = false
textLeft1Font = "GameTooltipHeaderText"
hasMoney = 1
TopOverlay = Texture {
}
TextLeft1 = GameTooltipTextLeft1 {
}
ARKTTD = <table> {
}
numMoneyFrames = 1
supportsDataRefresh = true
processingInfo = <table> {
}
infoList = <table> {
}
waitingForData = false
shoppingTooltips = <table> {
}
updateTooltipTimer = 0.167000
StatusBar = GameTooltipStatusBar {
}
TextRight1 = GameTooltipTextRight1 {
}
supportsItemComparison = true
textLeft2Font = "GameTooltipText"
layoutType = "TooltipDefaultLayout"
textRight1Font = "GameTooltipHeaderText"
TextRight2 = GameTooltipTextRight2 {
}
TextLeft2 = GameTooltipTextLeft2 {
}
textRight2Font = "GameTooltipText"
}
arg1 = <table> {
dataInstanceID = 147
type = 2
guid = <no value>
lines = <table> {
}
healthGUID = <no value>
}
arg2 = nil
arg3 = nil
arg4 = nil
arg5 = nil
name = <no value>
unit = <no value>
-
View User Profile
-
Send Message
Posted Jan 21, 2026should be fixed in 3.12.07 alpha 2
-
View User Profile
-
Send Message
Posted Jan 21, 2026Message: [ADDON_ACTION_FORBIDDEN] AddOn 'ArkInventory' tried to call the protected function 'AceEvent30Frame:RegisterEvent()'.
Time: Tue Jan 20 23:53:10 2026
Count: 1
Stack:
[Interface/AddOns/ArkInventory/Externals/Ace3/AceAddon/AceAddon-3.0.lua]:523: in function 'EnableAddon'
[Interface/AddOns/ArkInventory/Externals/Ace3/AceAddon/AceAddon-3.0.lua]:626: in function <...rkInventory/Externals/Ace3/AceAddon/AceAddon-3.0.lua:611>
Locals:
self = <table> {
initializequeue = <table> {
}
statuses = <table> {
}
embeds = <table> {
}
frame = AceAddon30Frame {
}
addons = <table> {
}
enablequeue = <table> {
}
}
addon = <table> {
Action = <table> {
}
modules = <table> {
}
db = <table> {
}
Codex = <table> {
}
Lib = <table> {
}
hooks = <table> {
}
Table = <table> {
}
baseName = "ArkInventory"
Search = <table> {
}
acedb = <table> {
}
Tools = <table> {
}
LDB = <table> {
}
Tradeskill = <table> {
}
orderedModules = <table> {
}
Const = <table> {
}
Localise = <table> {
}
name = "ArkInventory"
Debug = <table> {
}
API = <table> {
}
defaultModuleState = true
Util = <table> {
}
Collection = <table> {
}
CrossClient = <table> {
}
ENUM = <table> {
}
enabledState = true
Config = <table> {
}
defaultModuleLibraries = <table> {
}
Global = <table> {
}
MailRecipients = <table> {
}
}
AceAddon = <table> {
initializequeue = <table> {
}
statuses = <table> {
}
embeds = <table> {
}
frame = AceAddon30Frame {
}
addons = <table> {
}
enablequeue = <table> {
}
}
-
View User Profile
-
Send Message
Posted Jan 20, 2026While mousing over Plague Slime in Wotlk Naxx:
121x ...aceArkInventory/Core/ArkInventoryTooltip.lua:2000: bad argument #1 to 'UnitExists' (Usage: local result = UnitExists([unit]). Secret values are only allowed during untainted execution for this argument.)
[ArkInventory/Core/ArkInventoryTooltip.lua]:2000: in function 'HookOnTooltipSetUnit'
[ArkInventory/Core/ArkInventoryTooltip.lua]:3271: in function <...aceArkInventory/Core/ArkInventoryTooltip.lua:3270>
[tail call]: ?
[C]: in function 'securecallfunction'
[Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:67: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:62>
[Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:87: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:83>
[Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:123: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:113>
[C]: in function 'SetAttribute'
[Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:148: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:141>
[Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:298: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:245>
[C]: in function 'securecallfunction'
[Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua]:242: in function 'ProcessInfo'
[Blizzard_GameTooltip/Mainline/GameTooltip.lua]:994: in function 'SetWorldCursor'
[Blizzard_UIParent/Mainline/UIParent.lua]:1268: in function <...rfaceBlizzard_UIParent/Mainline/UIParent.lua:1188>
Locals:
tooltip = GameTooltip {
ItemTooltip = Frame {
}
AllTheThingsOnTooltipClearedHook = true
BottomOverlay = Texture {
}
NineSlice = Frame {
}
suppressAutomaticCompareItem = false
textLeft1Font = "GameTooltipHeaderText"
hasMoney = 1
TopOverlay = Texture {
}
TextLeft1 = GameTooltipTextLeft1 {
}
ARKTTD = <table> {
}
numMoneyFrames = 1
supportsDataRefresh = true
processingInfo = <table> {
}
infoList = <table> {
}
AllTheThingsProcessing = <no value>
waitingForData = false
StatusBar = GameTooltipStatusBar {
}
shoppingTooltips = <table> {
}
updateTooltipTimer = 0.183000
TextRight1 = GameTooltipTextRight1 {
}
supportsItemComparison = true
textLeft2Font = "GameTooltipText"
layoutType = "TooltipDefaultLayout"
textRight1Font = "GameTooltipHeaderText"
TextRight2 = GameTooltipTextRight2 {
}
TextLeft2 = GameTooltipTextLeft2 {
}
textRight2Font = "GameTooltipText"
}
arg1 = <table> {
dataInstanceID = 9293
type = 2
guid = <no value>
lines = <table> {
}
healthGUID = <no value>
}
arg2 = nil
arg3 = nil
arg4 = nil
arg5 = nil
name = <no value>
unit = <no value>
-
View User Profile
-
Send Message
Posted Jan 21, 2026should be fixed in 3.12.07 alpha 2
-
View User Profile
-
Send Message
Posted Jan 20, 2026You addon is a lifesaver. Thanks so much for your time and effort!
-
View User Profile
-
Send Message
Posted Jan 20, 2026Addon in the Blizz AddOn list shows "Incompatible"?
-
View User Profile
-
Send Message
Posted Jan 20, 2026In reply to JackUrFace: Getting the same issue here.
-
View User Profile
-
Send Message
Posted Jan 21, 2026In reply to somali_lemonade: Can confirm that as of 903am CDT on 1-21-2026, I pulled the update from Curse, and upon logging in to the game, all is well again!
-
View User Profile
-
Send Message
Posted Jan 20, 2026In reply to JackUrFace: I it is because the TOC only has 120001 and not 120000 as well, just tested. Modified the TOC to include 120000 and it works
-
View User Profile
-
Send Message
Posted Jan 21, 2026In reply to hakuna222: Thanks! Can confirm that as of 903am CDT on 1-21-2026, I pulled the update from Curse, and upon logging in to the game, all is well again! I love this addon. Well done!
-
View User Profile
-
Send Message
Posted Jan 20, 20261x ...faceArkInventory/Core/ArkInventoryObject.lua:772: script ran too long
[Ace3/AceAddon-3.0-13/AceAddon-3.0.lua]:523: in function 'EnableAddon'
[Ace3/AceAddon-3.0-13/AceAddon-3.0.lua]:626: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:611>
Locals:
self = <table> {
initializequeue = <table> {
}
statuses = <table> {
}
embeds = <table> {
}
frame = AceAddon30Frame {
}
addons = <table> {
}
enablequeue = <table> {
}
}
addon = <table> {
Action = <table> {
}
modules = <table> {
}
db = <table> {
}
Codex = <table> {
}
Lib = <table> {
}
hooks = <table> {
}
Table = <table> {
}
baseName = "ArkInventory"
Search = <table> {
}
acedb = <table> {
}
Tools = <table> {
}
LDB = <table> {
}
Tradeskill = <table> {
}
orderedModules = <table> {
}
Const = <table> {
}
Localise = <table> {
}
name = "ArkInventory"
Debug = <table> {
}
API = <table> {
}
defaultModuleState = true
Util = <table> {
}
Collection = <table> {
}
CrossClient = <table> {
}
ENUM = <table> {
}
enabledState = true
Config = <table> {
}
defaultModuleLibraries = <table> {
}
Global = <table> {
}
MailRecipients = <table> {
}
}
AceAddon = <table> {
initializequeue = <table> {
}
statuses = <table> {
}
embeds = <table> {
}
frame = AceAddon30Frame {
}
addons = <table> {
}
enablequeue = <table> {
}
}
-
View User Profile
-
Send Message
Posted Jan 20, 2026Is there any way to disable or move the [Click to override the original Blizzard bank so that ARC Inventory controls it instead] button? It is sitting directly on top of the cleanup button and honestly it's really starting to piss me off that I keep accidentally clicking it then having to spend 20 minutes going through the menu of trying to remember how to turn the stupid thing off again.
-
View User Profile
-
Send Message
Posted Jan 18, 2026Hi, I have opened all 7 expansion slots in my bank, but one slot is not showing up. If I put an item in a slot that is not displayed, the item will not be visible. I hope this issue is resolved quickly, thank you
-
View User Profile
-
Send Message
Posted Jan 19, 2026anything from 3.12.06 alpha 1 onwards should have that fix
-
View User Profile
-
Send Message
Posted Jan 20, 2026thank you ♡
-
View User Profile
-
Send Message
Posted Jan 17, 2026Thank you for adding the housing category for decor. I would love to have a separate category for lumber and one for decor based pigments & dyes. I have these set up manually for now.
-
View User Profile
-
Send Message
Posted Jan 17, 2026Hi is there a way to manualy migrate my rules from classic anniversary to tbc anniversary? maybe copying some files into the new addon folder?
-
View User Profile
-
Send Message
Posted Jan 19, 2026In reply to wowtbcenjoyer: you can just copy the savedvariables file for arkinventory across. you may need to erase the old character data though (via the config)