TomTom's "Crazy Arrow"

TomTom is your personal navigation assistant in World of Warcraft. This addon is very simple, but provides a nice set of functionality. Thanks to Esamynn for Astrolabe, which does the bulk of the work in this addon.

Bugs and Support (PLEASE READ)
Unfortunately I have been forced to disable user comments on For some absurd reason the site has stopped sending me emails when you guys post a new comment, making me completely unable to provide support via this means. I am still happy to provide assistance, both on Curseforge and Wowinterface:

TomTom offers the following major features:

  • Set waypoints via command, or by clicking on the world map
  • A draggable coordinate display with customizable accuracy. This frame can be hidden or locked.
  • Player and cursor coordinates on the World Map (these can be hidden)
  • A floating "crazy-taxi" style arrow that points you to your destination
  • Displaying the "crazy-taxi" arrow or coordinate block in compatible LDB displays, such as NinjaPanel
  • Show a waypoint that points you towards your corpse for easy recovery
  • Can set waypoints by clicking on quest objective POIs on the World Map and watch frame.

Please also check out LightHeaded

Slash Commands:
/tomtom - Opens configuration GUI

In addition you can use the /way command to add and reset waypoints. In order to overcome conflicts with the Cartographer /way command, you can also use /tway to access TomTom's waypoint command. The following slash commands are available:

Slash CommandDescription
/way 14.78 23.9Add a new waypoint at 14.78, 23.90
/way Nagrand 45 50Add a new waypoint in Nagrand at 45, 50
/way 14.78 23.90 This is a waypoint!Add a new waypoint with a description
/way reset allRemove ALL current waypoints
/way reset NagrandRemove all waypoints in Nagrand
/wayb or /waybackSets a waypoint at the current location
/cway or /closestwaySet the crazy arrow to the closest waypoint

TomTom has been designed to publish the Crazy-Arrow and Coordinate Block as LDB feeds, allowing them to be displayed in compatible display addons. I've written a very simple, easy-to-configure panel that is capable of displaying these called NinjaPanel.

If you're looking to bulk import waypoints (to track achievements, etc), a community member has provided a great addon that lets you do this easily. Take a look at Paste.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Jackalo Jackalo Aug 11, 2016 at 02:30 UTC - 0 likes

    @DarkMeister1977: Go

    It's a known issue. I'm just now coming back to WoW, and can't live without the big crazy arrow, so I patched up my local copy.

    I've submitted a diff and a request to Cladhaire, and am just waiting to see how they want to handle it.

  • Avatar of DarkMeister1977 DarkMeister1977 Jul 28, 2016 at 14:05 UTC - 0 likes

    Sorry if this seems like a dumb question, but how can you get TomTom to track quests that you tell it to? The only way it will work (with the arrow coming up) is closest quest only. If I uncheck that, the arrow goes away until I manually create a waypoint.

    Apologies if this has been asked before

  • Avatar of rrrof711 rrrof711 Jul 20, 2016 at 04:25 UTC - 0 likes

    @Redharlot: Gooh gods up above update this addon

  • Avatar of Redharlot Redharlot Jul 18, 2016 at 20:15 UTC - 1 like


    This has been a god send since I started using it way back when you first launched.  Having said that will you be updating this for Legion?  I can not imagine using the stock "waypoint" system provided by Blizzard.


  • Avatar of missjosieanne missjosieanne Jun 27, 2016 at 06:50 UTC - 0 likes

    I was using TomTom to track bonfires for Midsummer and I tried multiple ways to get it to show me the closest waypoint, but apparenly it thinks 5000 years is closer than 4000 and I have found no way to fix it.

  • Avatar of LooseCannononWOW LooseCannononWOW May 11, 2016 at 20:53 UTC - 0 likes

    Hi - Suddenly after adding other Addons, my TomTom arrow has disappears and when I looked at the error log, it showed this:

    Date: 2016-05-11 16:36:14 ID: 1 Error occured in: Global Count: 1 Message: ...therMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua line 346: table index is nil Debug: ...therMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:346: ...therMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:335 ...therMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:449: ?() TomTom\TomTom_Config.lua:753: TomTom\TomTom_Config.lua:3 TomTom\TomTom_Config.lua:775: TomTom\TomTom_Config.lua:774 TomTom\TomTom_Config.lua:819: ?() ..\FrameXML\ChatFrame.lua:4340: ChatEdit_ParseText() ..\FrameXML\ChatFrame.lua:4008: ChatEdit_SendText() ..\FrameXML\ChatFrame.lua:4044: ChatEdit_OnEnterPressed() [string "*:OnEnterPressed"]:1: [string "*:OnEnterPressed"]:1 Locals: db = nil noDefaultProfiles = nil handler = <table> { GetCurrentProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:279 DeleteProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:320 CopyProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:315 ListProfiles = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:293 SetProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:274 HasNoProfiles = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:309 Reset = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:269 } (*temporary) = <table> { (null) = <table> { } (null) = <table> { } (null) = <table> { } (null) = <table> { } (null) = <table> { } } (*temporary) = <table> { GetCurrentProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:279 DeleteProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:320 ListProfiles = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:293 CopyProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:315 SetProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:274 HasNoProfiles = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:309 Reset = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:269 } (*temporary) = "Reset" (*temporary) = nil (*temporary) = nil (*temporary) = nil (*temporary) = "table index is nil" defaultProfiles = <table> { Blackhand = "Blackhand" Mosultev - Blackhand = "Mosultev - Blackhand" Default = "Default" WARLOCK = "Warlock" } generateDefaultProfiles = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:325 AceDBOptions = <table> { optionTables = <table> { } handlers = <table> { } GetOptionsTable = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:442 } pairs = <function> defined =[C]:-1 OptionsHandlerPrototype = <table> { GetCurrentProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:279 DeleteProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:320 ListProfiles = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:293 CopyProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:315 SetProfile = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:274 HasNoProfiles = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:309 Reset = <function> defined @Interface\AddOns\GatherMate2\Libs\AceDBOptions-3.0\AceDBOptions-3.0.lua:269 }

    AddOns: Swatter, v5.0.0 (<%codename%>) NPCScan, v6.2.4.2 ACP, v3.4.24 Altoholic, vr165 Atlas, v1.32.04 AtlasArena, v1.5.07 AtlasBattlegrounds, v1.32.00 AtlasBurningCrusade, v1.32.02 AtlasCataclysm, v1.32.01 AtlasClassicWoW, v1.32.01 AtlasDungeonLocs, v1.32.00 AtlasMistsofPandaria, v1.32.01 AtlasOutdoorRaids, v1.32.01 AtlasScenarios, v1.32.00 AtlasTransportation, v1.32.01 AtlasWorldEvents, v3.13 AtlasWorldlordsofDraenor, v1.32.01 AtlasWrathoftheLichKing, v1.32.01 AtlasLoot, vv8.00.72 AtlasLootClasses, vv2.1.1 AtlasMajorCitiesEnhanced, vv1.07 AtlasQuest, v4.9.6 AucAdvanced, v5.21f.5579 (SanctimoniousSwamprat) AucFilterBasic, v5.21f.5579 (SanctimoniousSwamprat) AucFilterOutlier, v5.21f.5579.5459(5.21f/embedded) AucMatchUndercut, v5.21f.5579.5507(5.21f/embedded) AucStatHistogram, v5.21f.5579 (SanctimoniousSwamprat) AucStatiLevel, v5.21f.5579 (SanctimoniousSwamprat) AucStatPurchased, v5.21f.5579 (SanctimoniousSwamprat) AucStatSales, v5.21f.5579.5476(5.21f/embedded) AucStatSimple, v5.21f.5579 (SanctimoniousSwamprat) AucStatStdDev, v5.21f.5579 (SanctimoniousSwamprat) AucStatWOWEcon, v5.21f.5579.5323(5.21f/embedded) AucUtilAHWindowControl, v5.21f.5579.5575(5.21f/embedded) AucUtilAppraiser, v5.21f.5579.5545(5.21f/embedded) AucUtilAskPrice, v5.21f.5579.5447(5.21f/embedded) AucUtilAutoMagic, v5.21f.5579.5537(5.21f/embedded) AucUtilCompactUI, v5.21f.5579.5550(5.21f/embedded) AucUtilEasyBuyout, v5.21f.5579.5576(5.21f/embedded) AucUtilFixAH, v5.21f.5579 (SanctimoniousSwamprat) AucUtilItemSuggest, v5.21f.5579.5417(5.21f/embedded) AucUtilPriceLevel, v5.21f.5579.5535(5.21f/embedded) AucUtilScanButton, v5.21f.5579.5403(5.21f/embedded) AucUtilScanFinish, v5.21f.5579.5515(5.21f/embedded) AucUtilScanProgress, v5.21f.5579.4979(5.21f/embedded) AucUtilScanStart, v5.21f.5579.5347(5.21f/embedded) AucUtilSearchUI, v5.21f.5579.5556(5.21f/embedded) AucUtilSimpleAuction, v5.21f.5579.5531(5.21f/embedded) AucUtilVendMarkup, v5.21f.5579.4828(5.21f/embedded) Auctionator, v3.2.6 Babylonian, v5.1.DEV.332(/embedded) BagBrother, v BeanCounter, v5.21f.5579 (SanctimoniousSwamprat) BittensSpellFlashWarlock, v60100.201503092107 Carbonite, v6.2.0 Configator, v5.1.DEV.396(/embedded) DataStore, vr55 DataStoreAchievements, vr41 DataStoreAgenda, vr22 DataStoreAuctions, v6.0.001 DataStoreCharacters, vr35 DataStoreContainers, vr51 DataStoreCrafts, vr68 DataStoreCurrencies, vr30 DataStoreGarrisons, vr14 DataStoreInventory, vr43 DataStoreMails, vr43 DataStorePets, vr38 DataStoreQuests, vr35 DataStoreReputations, vr36 DataStoreSpells, vr26 DataStoreStats, vr25 DataStoreTalents, vr51 DebugLib, v5.1.DEV.337(/embedded) DugisGuideViewerZ, v3.305 Enchantrix, v5.21f.5579 (SanctimoniousSwamprat) EnchantrixBarker, v5.21f.5579 (SanctimoniousSwamprat) Gatherer, v5.0.0 GatherMate2, v1.35.6 Informant, v5.21f.5579 (SanctimoniousSwamprat) LibExtraTip, v5.12.DEV.395(/embedded) OmniCC, v6.2.1 Postal, vv3.5.6 QuestCompletist, v105 Recount, vv6.2.4b release SexyMap, v2.4.26 SlideBar, v5.0.0 (<%codename%>) SorhaQuestLog, vv1.4.8.2 SpellFlash, v6.24.1 SpellFlashCore, v2.1.1 Stubby, v5.21f.5579 (SanctimoniousSwamprat) TipHelper, v5.12.DEV.389(/embedded) TomTom, vv60200-2.1.0 BlizRuntimeLib_enUS v6.2.4.60200 <none> (ck=d36)

    ANy help would be appreciated

  • Avatar of wanipuk wanipuk Nov 13, 2015 at 00:53 UTC - 0 likes

    hi is it possible to update tomtom to include a feature where you can put notes or name the custom locations you set on the map? like for instance i found a good place to farm so i wanted to put a tomtom pin and name it?

  • Avatar of Kaiminsh Kaiminsh Aug 21, 2015 at 10:31 UTC - 0 likes

    Can anyone help me please. I installed the tomtom addon to my game version 5.4.8 but it seems it is not working correctly. At the first it said that it is out of date. I checkt the box that said "load out of date addons"... Now it loaded but I think it is not working. I have no arrow that shows a way and I cant set any way point. I saw some YouTube video where guy was adding way points just by right clicking on a map. Nothing works for me. Not even with a comand /way. Only reason why I downloaded it was to help me with quests. Is there any way put the arrow to track quests that are active?

  • Avatar of mkieling mkieling Aug 03, 2015 at 18:10 UTC - 0 likes

    Would love to be able to set waypoints from quest objective bubbles on the map and in the quests frame.

    Great Add-on!

  • Avatar of Wildsided Wildsided Jun 27, 2015 at 16:40 UTC - 0 likes

    The link on Curse has it going to v60100-1.0.0 as of 12:40 pm EST on 6/27/2015 you might want to fix it so it gets the newest version.


Date created
Apr 22, 2009
Last update
Aug 11, 2016
Development stage
  • deDE
  • enUS
  • ruRU
  • zhCN
All Rights Reserved
Curse link
Reverse relationships
Recent files