Plan journeys in WoW: Forever, on foot, by air, by sea and through portals.
Click the world map or minimap with your journey key held (Shift by default), or choose a quest, to plan a journey. Shortest Path Forever gives directions in the objective tracker and on both maps.
Need a vendor, a trainer or an inn? The Nearby services tab on the world map finds the closest one, tells you how long it takes to get there, and takes you there in one click. Search for any item to see who sells it.
Planning a journey from the map: the route settles, the next boat counts down in the tracker and the compass turns with you.
-
Find nearby services. A tab in the world map's quest log lists vendors by what they sell, your own class trainer, profession trainers, battlemasters, portal trainers for mages, inns, banks, auction houses, flight masters, stables and repairs, and every dungeon and raid door on your continent. Each row shows the nearest one and how long it takes to get there, and the dungeon and raid rows are ordered by that time. Arrows, shot, food and drink are the best for your level, and a row under them offers better ones farther away. Search for a group, an NPC, an item or an instance, then click a row to start the journey; a dungeon row takes you to the door and ends when you go in. Arrows mark that NPC's nameplate when you get there. Zone and city maps show the same services where they stand, each in the game's own minimap icon. Services of the same kind share one of those icons, and a market stall appears only where different kinds of service truly share a spot; click one to go there, and hide any service under Town services in the map's filter menu. Requires installed QuestieDB; class trainers also use Tweaks Forever.
The tracking menus and /spfnearopen the same tab. -
Keep a private travel journal.
/path statsreports this character's approximate walking distance, completed journeys and transport use. -
Plan a journey. Click the world map or minimap with your journey key held, or choose Plan journey on a quest. Key to plan a journey in Guidance chooses Shift or Alt so a key another addon wants can be left to it. Routes combine walking, flights, boats, zeppelins, lifts, the tram, portals and teleports, and replan as you move. A spot inside a dungeon or raid leads to its entrance. Walks go round zones whose lowest level is 4 or more above yours and round the other faction's towns, and say so in the tracker when they can't. Keep journeys after a reload in Guidance restarts your own journey after a
/reload.
The tracker shows each step, with time and distance remaining. Hover the destination's pin on the world map for the same steps, and, with the other faction's routes hidden, whether their boats would be at least two minutes faster. -
Follow your guide. Journeys follow RestedXP's or Guidelime's current step by default, without TomTom or a bridge addon; Resume guide returns to it after another journey, unless Adventure Guide's RestedXP display leads instead. With TomTom absent, other guides' TomTom waypoints start journeys here.
-
Type a waypoint.
/way [zone] x y [title]plans a journey there, written as for TomTom, while TomTom and other addons leave/wayfree;/path wayalways works. With TomTom installed, Follow TomTom's arrow in Guidance follows its arrow.
The current stop lights up like a tracked quest. -
Choose your guidance. Keep the route on both maps while hiding the Journey tracker or direction arrow. Show journey steps in the objective tracker is in Guidance and the arrow switch is in Interface. The arrow eases round to each new bearing; move and scale it in Interface, and choose whether its label shows the distance, the time left or both, and whether the stop's objectives show under it. Click the current step to complete it manually; skipping a Hearthstone leaves it out for that journey.
Breadcrumbs show the walking route; the waypoint leads to the next step. A goal off the minimap waits on its rim. -
Set how close counts as arrived. Arrival distance in Guidance sets how close counts as reaching your destination, from 5 to 50 yards. A map pin you set as that destination is cleared when you get there instead of left behind.
-
See flights and departures. Flight maps highlight your next flight, and a flight master's world map tooltip lists its flights and their times. Dock tooltips show destinations and departure times; nearby services count down in the tracker. Ride times improve estimates, from your own sightings kept across sessions and characters on your account.
Flight lines follow the route between flight points. -
Travel prompts and alerts. Hearthstone and teleport steps show the item or spell to use. A banner, transport sound and taskbar flash warn before your boat arrives. Play a sound when you reach the goal in Alerts plays the map's ping on arrival.
The prompt clears as the journey continues. -
Compass and corpse routes. The compass marks turns, stops and your destination, and can show the time left under it. As a ghost, a red route leads to your body; your journey resumes when you are alive.
When the next turn is behind you, the compass and the arrow dim until you turn back.
In a quest's area the arrow becomes the same gold pin that marks your destination, with the quest's objectives under it, and the compass turns quietly green.
The strip can be moved and resized separately from the tracker. While moving it or the arrow, Shift-drag, or rest the pointer on it and use the arrow keys, to place it to the pixel.
More detail: features and API.
Install it from CurseForge or
Wago Addons, or download the zip from
Releases. Everything it needs comes inside the download. To install the zip by hand, extract it into
the WoW: Forever client's Interface/AddOns/ folder (_forever_ on the live client, _classic_beta_ on the beta) so you end up with AddOns/ShortestPathForever/ShortestPathForever.toc.
Alt-click the world map to choose a destination over a Questie icon. Shift-click works on empty map space and Shortest Path icons. Choose Alt as Key to plan a journey in Guidance, and that one key works everywhere, Questie icons included. With the gamepad interface on, Shortest Path never opens or turns the world map, or opens a menu, itself; it asks you to.
The settings have six pages. Transport draws routes and shows the other faction's boats and zeppelins (off by default). Guidance holds journey behaviour: Key to plan a journey, Route to the focused quest, Show journey steps in the objective tracker, Resume guide, Keep journeys after a reload, Arrival distance, Minimum Hearthstone saving and Attach to quest tracker. Map marks scales each kind of icon from 25% to 200%, can keep the game's own quest markers on the map beside a journey, and can hide the Nearby services tab when another addon needs that space. Interface shows or hides the arrow and compass, sizes them, and labels distances in metres. Alerts covers the boat warning and the arrival sound. Forever addons holds the hint setting. docs/features.md has the detail.
Right-click a flight master icon to mark its flight path as known if a flight map missed it. Open a flight master's map once after installing to sync the flight points you know.
| Command | What it does |
|---|---|
/path |
Open the settings (also in Settings → AddOns and the addon compartment) |
/path report |
Show a report to paste into a bug report: versions, your journey, your ride, errors from earlier sessions, recent log lines |
/forever debug |
Keep a detailed log for this session, and show it to copy with /forever debug show |
/path issue |
Show a filled-in GitHub issue link, selected for copying, to report a bug or request a feature |
/path perf |
Print this addon's CPU and memory use |
/path debug |
Keep a trace of your ride matching, for a ride that was not recorded |
/spfnear |
Open the Nearby services tab; add a service such as repair, trainer or flight to route to the nearest one |
The world map's filter menu and the minimap's tracking menu hide each kind of mark. Searches and tracker updates wait until combat ends.
Turn off Attach to quest tracker in Guidance, or right-click the tracker's "Journey to …" line and untick it, then drag the Forever column by its heading. The column hides while nothing is tracked; turn the setting back on to reattach it.
The heading moves the Forever sections; your quests keep their own position.
Other addons can plan and guide journeys through ShortestPathForever.API, ask for travel times, and subscribe
to journey changes. docs/api.md has the calls and what they return.
With Follow RestedXP guides on (the default), leave RestedXP's TomTom option off so only one addon follows the guide.
With Questie's tracker on, the Forever sections move clear of its quest list.
Alt-left-click on the world map plans a journey even with TomTom installed. TomTom keeps its modified right-click waypoint gesture.
With OpenMap on, the route and its stops draw across its stitched world map and carry on into the zones either side, over OpenMap's own art.
Each one works on its own, and they work together when you install more than one.
| Addon | What it does | Issues |
|---|---|---|
| Shortest Path Forever | Plans journeys on foot, by air, by sea and through portals, with directions in the tracker. | Issues |
| Adventure Guide Forever | Suggests quests for your level and routes you from one to the next. | Issues |
| SkillUp Forever | Shows skill-up chances, recipe costs and levelling routes in the Professions window. | Issues |
| Legacy Forever | Shows your unfinished Legacy challenges on the world map and tracks the ones you choose. | Issues |
| Tweaks Forever | Adds quest automation, rare alerts and merchant options to the game's settings. | Issues |
| Field Guide Forever | Keeps a cosmetic journal of the creatures you kill, zone by zone. | Issues |
| Commissions Forever | Lists your commission turn-ins, the materials in your bags and the next NPC to visit. | Issues |
| Macro Assist Forever | Adds a macro window with every macro in one list, a mono editor with live checks, and history. | Issues |
Bug reports, feature requests and pull requests are welcome on each addon's GitHub. Everyone whose report or idea ships is thanked by name on the Thanks page in game, in the store page and in the changelog, unless they ask not to be.
For help, ideas and each day's release notes, join cjber's Workshop on Discord.
Installed together, the others send Shortest Path their destinations: an Adventure Guide journey or quest-menu suggestion, a RestedXP or Guidelime step, a trainer or vendor in a SkillUp route, a Legacy dungeon or raid pin, or a dungeon or raid entrance Tweaks adds to the map.
Journey steps share one tracker column with the Adventure Guide, SkillUp and Legacy sections, above your quests.
If Adventure Guide or Legacy isn't installed, a grey hint suggests it where it would help.
No code needed:
- A wrong route: type
/path reportwhile the journey is on screen and paste it into a Wrong route issue. - An error: open a bug report with the error's text, and paste
/path reportunder its steps. - A translation: Translated into German, French, Spanish, Brazilian Portuguese, Russian, Korean and Chinese (machine translated; corrections welcome). Paste a fix into a translation issue.
Run tools/typecheck.sh for LuaLS and static checks, and luajit tests/<name>_spec.lua for a focused check. CI runs the full suite. tests/README.md describes the test layers; performance notes and type declarations describe the rest. Releases follow .agents/skills/release/SKILL.md.
Contributing, AGENTS.md and security reports.
The addon is free and stays GPL-3.0. If it saves you time, you can sponsor me on GitHub, which takes no fees, or buy me a coffee on Ko-fi; nothing is locked behind it and there is no paid version.
Travel data comes from wago.tools, CMaNGOS (GPL-3.0) and InFlight (MIT). Some features were inspired by Polestar by Fitz; no code was copied. Fitz is welcome to use our code.
Thanks to Alex21xx, Maggew, MacieGx, Stiandresius, user_lsqt69ps7bgb5p7e, The___Fast, Joster91, GenericP, cotijelucie, vladsnz, user_sggieekz05hc7uxt, kindguydev, Enel3008, azure463, AsimRamay, nookie909, Zerhathos, jakerist, cobalt_44, Xeteskian, DaFrozenMage, user_zbqhuuoypkkr46x1, Fitz, TRDeadbeat, tallsmartman, Sol_Deus, Zavian, Osipanda, Nightwind416, wfournier, cidolfus27, o0saw0o, Merlinqt, team_Brigade, phear, Testvonfarkle, rydoc, deathmvp1, saikoso, Ragnarok11B, Brainc3ll, Mouchoir, z1ck, Oxds, sean16981, aryaxo, Exo_NA, legortiz, JohnChrin, wheelbarrel00, lkshrk, HeartOfD2, rml9ty, hwalflor, chris-chrysos, Quantity-4, Bolton_wow, Aldericdevir, joaocjesus, jakerist (Grayburn), borick7318, sampconrad, jixxor, Gaafah, _spada, macwire, scraak, overspark, TeeRKee, Speaker1264, SuubzTV, Fel7, Kragmars, spidersylar, Acem, tgkGate, user_efwsfml273dlvfm5, IronmanBG, vcatalin, sdtom, Bervath, Blast22, hervad, caghanpekin-prog, Zwaffelmagic, CptShooter, user_10oietw0rdrgk4le, ubrider, cwebbx, lone_viking1921, Nivlemoth_Nathrezim, Lůca [Luutsa], esc_return, MrOxiMoron, Zhiroc, Crypa7 and everyone who reported a bug or asked for a feature.
GPL-3.0-or-later. Inputs: THIRD_PARTY.md.
Made by Cillian Berragan · cillian.dev · GitHub · Twitter
Built with AI assistance.

