Fast Guild Invite - Revived

Guild

A WoW Classic AddOn to help recruit new members into your guild.

Trending Now WoW 12.1.0 Actively Maintained

Trend Explorer

Recent download momentum

Estimated downloads/hour over observed intervals in the last 48 hours.

Latest interval +21 /h 1h observed interval · ending Sep 11, 5 AM
Peak estimate +138 /h 0.999h observed interval · ending Sep 10, 7 PM
Average estimate +13 /h Time-weighted · 47.3h covered of 48h

Lines connect interval estimates, not hourly measurements. Unobserved time is not counted as zero or extrapolated to now.

About this addon

What it does

Fast Guild Invite (Revived) - Automated Guild Recruitment for WoW

Tired of manually typing /who, scrolling through results, checking each player's level and class, then whispering them one at a time? Fast Guild Invite automates every step of guild recruitment — scanning for candidates, filtering by your exact criteria, sending personalized whispers, and queuing invitations — so you can focus on the conversation while the addon handles the busywork.

The Problem

Guild recruitment in WoW is slow and repetitive by design. The built-in /who system returns at most 50 results, gives no way to filter by multiple criteria at once, and offers no way to track who you've already contacted. Officers end up spamming the same searches over and over, accidentally re-inviting players who already declined, and managing a mental list of who's been messaged this week.

On multi-officer guilds it's even worse — two officers can independently find and message the same player within minutes of each other, creating a poor first impression and potentially getting your whispers flagged as spam.

The Solution

Fast Guild Invite replaces the manual loop with an intelligent scan engine. It splits your search across multiple /who queries to work around WoW's 50-result cap, applies your filters locally, and works through the candidate queue automatically. An anti-spam sync system shares the invited-players list between all FGI users in your guild in real time, so two officers working at the same time will never double-contact the same person.

Core Features

Automated Player Scanning

  • Smart /who query engine splits searches across multiple queries to bypass WoW's 50-result cap
  • Results are collected, deduplicated, and filtered client-side before any action is taken
  • Real-time progress bar and live statistics (found / filtered / invited / declined) during scanning
  • Scrollable candidate queue — every player found is listed with per-row Invite, Skip, Decline and Blacklist buttons; act on any candidate, not just the front of the queue
  • Background processing — scanning continues while you move, fight, or chat
  • A queue that can outlive the session — keep the players you found through a logout or reload, and pick the sweep up where it stopped instead of starting from the bottom of your level range every evening
  • Seen — who is still around — every queued player carries the number of separate days a search has found them online, so a queue you have kept for a week tells you who actually plays. It fills in by itself as ordinary scanning re-finds them, and Recheck asks about the queue directly when you would rather not wait
  • Zone — where you found them — each queued player carries the zone the search saw them in, which answers most of what you would otherwise have to ask them. It is a snapshot of where they were when found, not a live position
  • Reset restarts the sweep without throwing your candidates away — Clear is still there for when you are finished with them
  • You choose how a full search narrows — when a search comes back with all 50 slots used FGI splits it by level, race, class and location, and the order is yours to set. It is the single biggest thing deciding how many searches a pass costs
  • The progress bar shows the typical cost of a pass beside the worst case, learned from your own completed passes, so "how long is this going to take?" has an honest answer
  • Nobody is picked up mid-dungeon — players inside instanced content are left off the scan list, and FGI works out which places those are by asking your own game client rather than from a list somebody typed. That is right in every version of the game and every language, and keeps working as new dungeons and raids are added. Battlegrounds and arenas are covered too, and the Quiet Zones tab is still there for anything you want silenced yourself — your entries are added to what the client reports, never replaced by it

Advanced Filtering System

  • Level range — set minimum and maximum level to target specific brackets
  • Race & Class filters — include or exclude any combination of races and classes
  • Location-based search — filter by zone or sub-area for targeted recruitment drives
  • Multiple filter profiles — save and switch between different recruiting configurations
  • Custom WHO queries — write your own advanced query string when you need full control
  • RaiderIO score filtering (when the RaiderIO addon is installed)

Invitation Modes

  • Invite Only — send guild invitations silently with no message
  • Message + Invite — send a recruitment whisper, then invite when they respond
  • Message Only — broadcast a recruitment message without sending an invite
  • Conditional — only whisper when an invitation is declined

Wingman — Hands-Free Recruiting

  • Toggle Wingman (the people-icon button on the main window's bottom row and the compact tray, or /fgi wingman), then just play — each of your normal mouse clicks fires one queued recruiting step: a /who scan when one is due, otherwise an invite to the next player matching your filters
  • Uses the filters, invite Mode, and scan interval you've already set; throttled to one action per click; stops the moment you stop clicking (so it idles while you're AFK)
  • Not automation — one click is always one action, never a burst — it just frees you from hammering the scan and invite buttons by hand while you quest, farm, or run dungeons
  • While active it greys out the manual scan/invite controls and locks your Filters and Custom Scan for the session, so the targeting is frozen until you toggle it off — the live queue, counters, and scan countdown keep updating so you can watch it work
  • Choose what each click does in Settings → Wingman — any mix of scan, invite, and announce — and set their priority order, the minimum time between actions, and an optional auto-stop timer
  • Or right-click the Wingman button — on the main window or the compact tray — for tick boxes for those same three steps, without opening Settings at all. Tick one in either place and it ticks in the other, so the two can never disagree
  • See what it is doing with Log each contact to chat (Settings → Wingman): a line every time FGI contacts somebody, naming who, their level and class, and the zone the search found them in. The queue often moves faster than you can follow. Off by default, and it covers invites you send by hand as well as Wingman's
  • Starts off every session by default, so it never runs unless you say so — or tick Stay on through /reload and logout and it switches itself back on after you load in
  • Follows your recruiting duty — if your guild uses a designated announcer/inviter list, Wingman offers to turn on the moment duty is yours (at login, or when it hands over to you because the person ahead logs off) and turns itself off when you're no longer on duty

Recruitment Announcements

  • Broadcast your recruitment message to any mix of channels — General, Trade, LookingForGroup, custom/community channels, plus Guild and Officer chat — from the horn icon on the main window's bottom row or the compact tray
  • Announcement profiles — save several named messages, each with its own channel selection and cooldown entered as a friendly 1D2H30M0S duration (days/hours/minutes/seconds, up to 99 days), plus an activity-based bypass that reposts early when your line has scrolled off a busy channel, and a live per-announcement countdown so you can see which is ready
  • Rotations — group several announcements into a set that takes turns, posting one message per interval and cycling through the list, so ten messages on a 5-minute rotation each come back around roughly every 50 minutes. Pick the order with the up/down arrows on the rotation's expandable row; the Status column shows which message goes out next. Build as many rotations as you like, and the same announcement can sit in more than one
  • One post per click, retail-safe — announcements go out one at a time on your clicks with no timer, so they're never blocked on modern retail; under Wingman it happens automatically as you play
  • Honest delivery — FGI confirms a post only after it sees your own message come back in the channel, and tells you plainly when it did not go out (for example, you're not in that channel) instead of a false "posted"
  • Zone-independent channels — "General" means General wherever you are, so a saved channel follows you between zones instead of pinning to the one you set it up in

Guild Policy — Guild-Wide Recruiting Standards

  • Push a standard policy to the whole guild — a policy editor sets it once and broadcasts it to every member running FGI; it applies on their client immediately
  • Guild announcements — tag one or more of your own announcements as a guild announcement (a checkbox on the Announce tab), then enforce and push so every member broadcasts the guild's standard message instead of their own — the same way guild filters work
  • Guild rotations — tag a whole rotation and FGI ships the rotation and every message inside it, so the guild cycles through the same set in the same order. The rotation's place in the cycle is shared guild-wide, so when duty passes to the next announcer they pick up at the next message instead of starting over
  • Enforce guild filters & level range — mark scan filters as guild filters and enforce them, so every member recruits to the same criteria and level band, overriding their own scan settings until you turn it off
  • Designated announcer / inviter / welcomer — priority lists that pick the single member on duty for public announcements, scan-driven invites, and the new-member welcome; duty hands to the next person automatically when the one above them logs off, and opens back up to everyone when nobody listed is online
  • Forced welcome — set a standard guild-chat line and/or private whisper that greets every new member identically, replacing each member's own welcome wording
  • Delegated editors — the Guild Master can grant policy-editing rights to a specific rank and/or named members, not just the top ranks

Message Customization

  • One list for every message FGI sends, in the Messages tab. Each message has a Type: a recruitment whisper, a guild-chat welcome, a guild-chat welcome for when several people join at once, or a welcome whisper. Write as many of each as you like and turn them on and off individually — the welcome used to be a single box in Settings, so you could only ever have one
  • Message rotations — group several messages of the same Type into a set that takes turns instead of being picked at random, with the running order set by up/down arrows on the rotation's row. Works for recruitment whispers and welcomes alike
  • Dynamic %player% placeholder auto-fills the target's name; NAME in a welcome fills in the joiner — or the whole list of joiners, in a several-at-once welcome
  • Message preview before sending, and a live byte counter so you can see when a message will be split
  • Multi-line support — long messages are split across multiple whispers automatically
  • ChatThrottleLib integration prevents messages from being rate-limited or dropped

Player Management

  • Blacklist — permanently exclude specific players; persists across sessions
  • Anti-Spam List — tracks every player you've whispered; configurable memory window (1 day → permanent)
  • Anti-Spam List UI — browse and manage your invited-players list; right-click to remove entries; "Clear All" with confirmation
  • Quiet List — invite these players silently without sending any message
  • Custom List — priority candidates; processed before the general scan queue
  • Auto-blacklist leavers — players who leave your guild are automatically added to the blacklist
  • Auto-kick on blacklist — optionally kick a player from the guild the moment they're blacklisted
  • Bring a blacklist in from elsewhereImport GRM and Import GIL on the Blacklist tab pull in bans from Guild Roster Manager and from your GlobalIgnoreList / in-game /ignore list, tagging each entry with the note that came with it. Either can also run automatically at login, and each of those tick boxes has an Import now button beside it in Settings. Only same-realm and connected-realm names come across, and anyone you have already removed stays removed

Guild Sync (Anti-Duplicate System)

  • Automatically shares the invited-players (anti-spam) list, blacklist, and recent leavers between all FGI users in your guild, so two officers recruiting at the same time never double-contact the same person
  • Delta-based sync — sends only what changed instead of the whole list, so it's light on bandwidth and finishes cleanly even in big, busy guilds; changes spread while you're online and catch up automatically at login
  • Inviter & Blacklister columns — see which FGI user first contacted or blacklisted each player, shared across the guild so officers know at a glance who already reached out
  • No visible chat spam — all communication uses WoW's hidden addon message channel
  • Sync now button and a progress bar on your lists, so you can trigger a sync on demand and watch it complete without relogging
  • Configurable via the "Remember All" setting — opt out if you prefer per-character lists

Guild Integration

  • Welcome on join — greet every new member in guild chat and/or with a private whisper, on a delay you set. Optionally combine several joiners into one guild-chat line, with its own wording rather than the single-person one repeated. Optionally send welcomes on your next click (using Wingman's click layer) so modern Retail's chat restrictions can't block them. The wording lives in the Messages tab; Settings → Guild keeps the toggles and timings that decide when a welcome goes out
  • No double welcomes — if another guildmate running FGI has already posted the welcome for a joiner, yours is dropped. Whoever gets there first welcomes, so a guild with several recruiters doesn't greet a new member three times
  • Auto guild notes — automatically writes the join date/time to a new member's public note
  • Officer notes — optionally write the recruiter's name or other info to the officer note
  • Officer chat notifications — posts a message to officer chat when a player is blacklisted
  • Works with Classic Era, TBC, Wrath, Cata, and Retail guild APIs automatically

User Interface

  • Tabbed main window with dedicated tabs for Scan, Custom Scan, Filters, Messages, Blacklist, Anti-Spam, History, Statistics, Quiet Zones, Announce, and Guild Roster
  • Choose your tabs, and their order — most recruiters use a handful of the twelve, and on a narrow window the strip spills onto a second row and eats space you would rather give the list. Settings → Tabs has a tick box for every tab and an up/down list for the running order, with Reset tab layout to undo the lot. Hiding a tab deletes nothing, and anything that sends you to a hidden tab brings it back rather than quietly doing nothing — and you can never end up with an empty window. It is yours alone: not something an officer can push to the guild
  • Choose which scan counters you see, and get a narrower window for it — the F:0 S:0 A:0 strip carries nine counters and most recruiters watch two or three. Settings → Advanced → Scan counters has a tick box for each; unticking one hides it from the Scan tab, the compact tray and the hover legend together. Nothing stops being counted and your Statistics are untouched. Every counter you hide also lets the main window drag narrower — with all nine off it goes down to about 610 pixels instead of 900
  • Window opacity — a slider in General → Appearance makes FGI's windows see-through so you can keep an eye on the game behind them. It applies to the main window, the compact tray, the confirmation pop-ups and the "what's new" window alike, and pop-ups follow it live
  • Compact tray — slim floating window with the scan, invite, announce and soundboard buttons on one row, the queue counters on a second, and your queue below with per-row action icons; toggle between the full window and the compact tray from either view. Drag it by either header row, and resize it from the corner grip
  • Minimap button — left-click opens the main window (or compact tray, depending on your last used view), right-click opens the addon settings panel
  • All settings live in WoW's standard in-game Options panel (ESC → Options → AddOns → FastGuildInvite)
  • Context menu integration — right-click any player name in chat for a quick FGI invite / blacklist option
  • Debug mode — verbose logging to chat for troubleshooting
  • ESC closes windows — pressing Esc closes the main window and compact tray; a "Keep open on Esc" toggle in Settings disables this if you prefer the old behaviour
  • Disable compact UI tooltips — toggle in General → Appearance to hide all hover tooltips on the compact tray buttons and icons; useful for distraction-free recruiting when you already know what each icon does
  • Invite testing mode — simulate the full invite flow without sending invitations or whispers; useful for testing message templates without contacting real players
  • Configurable scan interval — set the delay between WHO queries (2–30 seconds) directly in Settings to tune scan speed for your server
  • Filter overwrite confirmation — saving a filter with a duplicate name shows a yes/no prompt instead of silently blocking

Race/Class Reference (Optional)

  • A grid of every race in your version of the game against every class, with a box at each crossing you can tick and clear as your own notes. Off by default — switch it on with Show the Race/Class reference tab in Settings
  • It is a chart, not a control — nothing you tick here changes who gets scanned or invited. The Filters tab still does that, and it already lets you pick several races and classes at once
  • Why it is worth a look: the same table decides which /who searches the scanner bothers to run, so a wrong row both wastes searches on combinations that cannot exist and hides races the scan then never looks for. It used to be written by hand and had drifted; it is now built from your own game client's character-creation data, so it stays right as the game changes. If a row still looks wrong for your realm, please say so
  • Add race and Add class put something on the chart yourself if your version of the game has one FGI has not heard of; two tick boxes show Alliance, Horde or both, since a retail guild can hold both. Class names carry their proper class colours and race names are tinted by faction, and Reset clears your ticks and anything you added

Multi-Language Support

  • 30+ languages, with the whole window translated — every tab, panel, button, and tooltip, not just the menus — switching live with no reload
  • Covers the European languages plus Russian, Korean, Japanese, Chinese (Simplified & Traditional), several Indian languages (Hindi, Bengali, Tamil, Telugu, Marathi, Punjabi), Thai, Vietnamese, Turkish, and right-to-left languages (Arabic, Hebrew, Persian, Urdu) with proper letter shaping
  • UI Language Override — set FGI's own language separately from your WoW client, including Dutch and Filipino, which WoW doesn't support on its own
  • Native numerals — counts, levels, and dates display in a language's own digits (such as Bengali, Hindi, or Tamil) where it has them
  • FGI bundles the fonts, so these show real text instead of empty boxes even on a client that doesn't ship that script

How It Works

Scan Engine

  1. Start Scan — FGI builds a set of /who queries from your active filters and submits them in sequence
  2. Collect results — each response is merged into the candidate pool; players already in your anti-spam list or blacklist are discarded
  3. Work the queue — FGI moves through the remaining candidates one at a time: send whisper (if enabled), send guild invite, record the player in the anti-spam list
  4. Handle responses — declined invites are noted; FGI moves on to the next candidate automatically

Sync System

  1. On login — FGI compares your shared lists with the guild and exchanges only the entries that differ, so a fresh login catches up automatically
  2. While online — each change you make (a new invite, blacklist, or leaver) is broadcast to the guild as it happens, so everyone stays in sync in real time
  3. Delta transfer — only the changed entries are sent, never the whole list, keeping it light even in large, busy guilds
  4. Manual trigger — the Sync now button on the Blacklist / Anti-Spam tabs repeats the exchange on demand, with a progress bar so you can watch it finish

Slash Commands

  • /fgi or /fgi help — show all available commands
  • /fgi show — open the main window (or compact tray, depending on your last used view)
  • /fgi intro — re-open the "What's new" release-notes popup
  • /fgi invite — invite the next player in the queue
  • /fgi nextSearch — fire the next /who in the queue
  • /fgi queue — list your invite queue: who FGI would still contact, and how long ago the scan found them. Sends nothing
  • /fgi requeue [n] — re-check the players already in your queue, so a queue kept for days is up to date. It searches the way a normal scan does — one search covering your queue's level range rather than one per name — and only ever touches people already queued. /fgi requeuestop cancels it
  • /fgi perf — show what FastGuildInvite is costing the game per frame, and how that compares with your other add-ons. /fgi perf watch speaks up when a frame runs slow and names what FGI was doing at that moment, /fgi perf reset zeroes the counters, /fgi perf off stops the watcher
  • /fgi wingman — turn hands-free recruiting on or off
  • /fgi announce — post one of your announcements right now
  • /fgi baton — hand your recruiting duty to the next member in line (/fgi stepaside 45 for 45 minutes, /fgi stepback to take it back)
  • /fgi welcome — explain why the join welcome will or will not go out
  • /fgi vcheck — ask your guild which FGI versions they are running
  • /fgi roster — show what FGI currently knows about your guild roster
  • /fgi version — show your own FGI version, and which expansion FGI thinks you are playing
  • /fgi blacklist <name>-<reason> — add a player to the blacklist
  • /fgi unblacklist <name> — remove a player from the blacklist
  • /fgibl <name>-<reason> — quick blacklist shorthand
  • /fgi dump — open the diagnostic dump window
  • /fgi resetWindowsPos — reset all addon window positions
  • /fgi debug — toggle verbose debug logging to chat

Requirements

  • Ace3 (AceAddon-3.0, AceGUI-3.0, AceDB-3.0, AceComm-3.0, AceTimer-3.0, AceConsole-3.0, AceLocale-3.0, AceConfig-3.0)
  • DeltaSync (v4.0.0+) and AceCommQueue — the guild-sync libraries — plus GuildRoster, LibLocaleOverride, VersionCheck-1.0, and LibGraph-2.0 - Revived, which draws the Statistics charts. CurseForge installs all of these automatically; manual installers must add them too.
  • Guild membership with invitation permissions
  • WoW version: Classic Era (11509) · TBC / Anniversary (20506) · Wrath Classic (30405) · Cataclysm Classic (40402) · MoP Classic (50504) · Retail (11.2.7 and the 12.0 / 12.1 line)

Recent Updates

v2.12.2 (2026-08-26)

New

  • FastGuildInvite can tell you in chat when recruiting duty changes hands. If your guild uses the designated announcer, inviter or welcomer lists, whose turn it is moves on its own — the moment the person above you on the list logs off it is yours, and the moment they come back it is theirs again. Until now the only way to know was to open Settings and look. A new tick box beside the Step aside button, Tell me in chat when duty changes, prints a line whenever it moves, including when it becomes you. Each of the three roles is reported separately, because they are usually different characters. It is off by default: in a guild with a long list it has something to say every time one of those members logs in or out, which is noise if none of them are you. Requested by Vishiswaz on Discord.
  • The Guild Roster tab now shows who is on recruiting duty right now. Settings has always shown the lists of who is in line for each role, but nowhere told you who the addon had actually settled on, so you could read the whole policy and still not know whether it was your turn. A new line at the top of the Guild Roster tab names the current announcer, inviter and welcomer, says You when it is you, and tells apart a role nobody has set up from one where everybody in line happens to be offline — two very different situations that used to look identical. It updates the moment somebody logs in or out or passes the baton, and if you are the one who stepped aside it says so, which explains why your name is missing from a list you know you are on. Requested by Vishiswaz on Discord.
  • Right-click the Wingman button to tick its steps on and off. A small menu with Scan, Invite and Announce as tick boxes, on the Wingman button in both the main window and the compact window. These are the same three settings as the Wingman page — ticking one here ticks it there, and the reverse, so you never have to wonder which of the two is winning. The boxes stay open between clicks so you can change more than one without reopening the menu, and the menu closes as soon as you click anywhere else. Requested by Vishiswaz on Discord.
  • FastGuildInvite can print a line in chat every time it contacts somebody. Something like <FGI> Invited Bobdole Level 69 Hunter - Stormwind City, naming who was contacted, their level and class, and the zone the search found them in. The queue often moves faster than you can follow, even with the compact window open, and this gives you a readable record of what the add-on has been doing — including whereabouts it is finding people. It is under Settings > Wingman > Log each contact to chat and is off by default. It covers invites you send by hand as well as Wingman's, and in Message Only mode the line says Whispered instead, because no invite is sent. The zone is from the moment they were found, and is left off the line when the game did not report one. Requested by rocky on Discord.
  • You can run either blacklist import on the spot, from Settings. Import GRM blacklist now and Import GIL list now sit under Settings > Advanced > Sync, each directly beneath the tick box that runs the same import at login. Until now the only button that did this was on the Blacklist tab, so if you had just switched one of those tick boxes on, nothing happened until your next login and there was nothing on the page to press. There is now.
  • The Blacklist tab updates itself after an import. If you had the tab open while an import ran — the one at login, or either new button — it kept showing the old reasons until you clicked away and back.

Changed

  • The graph library is now installed alongside FastGuildInvite instead of bundled inside it. CurseForge will add it for you. FastGuildInvite was carrying its own private copy of the library that draws the charts on the Statistics tab, and that copy had fallen behind. This matters beyond FastGuildInvite: several add-ons bundle this same library, only one copy is ever used, and the game picks whichever is newest — ours was winning, so our out-of-date copy was the one every add-on on your machine got, including the pie-chart error above. It is now a separate add-on, LibGraph-2.0 - Revived, listed as a required dependency, so there is one up-to-date copy that every add-on shares rather than several competing ones. Nothing about the Statistics tab looks or behaves differently. If you install FastGuildInvite by hand rather than through an add-on manager, you will need to install that one too — the Statistics tab is what stops working without it.
  • Filters that check Mythic+ score or raid progress are less likely to reject someone by mistake, on connected realms. To look a player's score up, FastGuildInvite needs their realm, and when a search result did not include one it assumed your own. For anyone from another realm of your connected group that lookup found nothing, and a filter with a score or raid requirement quietly rejected them for having no score rather than for failing the rule. It now uses the realm the search gave it whenever there was one, and asks what it already knows before assuming. Retail only.

Fixed

  • The announce countdown is readable now. Hovering the announce button showed the wait as a plain number of seconds — in 291s — while the Announce tab showed the same kind of value as 9M29S a panel away. Both the button tooltip and the compact window now use the days/hours/minutes/seconds form.
  • The announce button posted without starting a timer, then started them all at once. With three announcements showing Ready, the first click posted one and started no countdown, the second click posted another and still started no countdown, and only the third click started all three timers together. That was deliberate on our part — the idea was that a set of announcements should come back Ready together — and it was wrong: if you wait twenty minutes between clicks, the first announcement's countdown ends up starting twenty minutes after it actually went out. Each announcement's countdown now starts on the click that sent it. The same fault is behind announcements appearing to be posted twice or clicks seeming to do nothing, especially if you switched to Wingman partway through: while the countdowns had not started, the add-on still counted those announcements as waiting to go out. Reported by Vishiswaz.
  • Importing the Global Ignore List kept the tag but threw away your reasons. Entries that used to import as "<GIL> bigot, kicked from guild" were arriving as just "<GIL>", losing the note you had written against them. The import reads from two places — the GlobalIgnoreList add-on, which stores a note for each person, and your own in-game ignore list, which has no note. Because the add-on mirrors your ignore list, almost everyone is in both, and the second pass was overwriting the note the first pass had just brought in. It no longer does. Please note this stops it happening again rather than undoing it — a note that has already been overwritten is only recoverable if the GlobalIgnoreList add-on still has its own copy, and where it does not, re-importing cannot bring it back. Reported with a screenshot by Vishiswaz.
  • Two settings on the General page were cut off and unreadable. On a client without a UI-scaling add-on, Disable compact UI tooltips showed as "Disable compact UI to..." and Use Legacy UI as "Use Legacy UI ([-] ope...". They were sharing a row with the setting next to them, so each only got half the width and the longer names were clipped — and resizing the window did not help, because the halves are a share of the panel rather than a fixed size. Every setting on that page now gets its own full-width row. Reported with a screenshot.
  • The scan was never looking for some races at all, and wasted searches on combinations that cannot exist. Two problems with the same table. First, if you had reordered the scan steps so class comes before race, the scan asked for every race/class pairing including impossible ones — searching for human druids, which no realm has ever had. Every one of those is a search that can only come back empty. Second, and worse because it was completely invisible: FastGuildInvite's list of which races can be which class had fallen behind the game. On retail it did not know about Earthen, Harronir or Dracthyr at all, so nobody of those races could ever be found, and it was also missing night elf warlocks, draenei rogues and warlocks, and tauren mages, rogues and warlocks. On Mists it was missing dwarf warlocks and undead hunters. That list is now built from the game's own character-creation data rather than written by hand, so it stays right as the game changes. Classic Era and Burning Crusade were already correct and are unchanged. Reported by Spacedoc on Discord.
  • Players inside dungeons and raids were being put on the scan list. A Burning Crusade player sent screenshots of recruits picked up inside The Underbog, The Steamvault, Serpentshrine Cavern, The Shattered Halls, The Arcatraz, The Botanica and The Slave Pens — seven on one screen. FastGuildInvite is supposed to leave people alone while they are in instanced content, and it was doing that from a hand-written list of zones that stopped after the first handful. It was never complete for any version of the game, so every dungeon and raid added after that point was fair game. It no longer uses a list: it asks your own game client which places are instances, which is right on every version and in every language, and keeps working as new ones are added. Your own quiet-zone list on the Quiet Zones tab still works exactly as before and is still there for anything this misses. Reported with screenshots, which is what made the size of it obvious.
  • ...without going quiet in Dalaran. Worth calling out because the first attempt at the fix above would have done exactly that. The game marks Dalaran, Oribos, the Deeprun Tram and part of the Vale of Eternal Blossoms the same way it marks dungeons, so simply trusting that mark would have stopped the scan in a capital city and one of the best recruiting spots in the game — a far more expensive problem than the one being fixed. Those places are now excluded by name-independent identifiers, so it holds in every language.
  • A stream of red errors from the chat box, on retail. One player reported the same error 22 times in a session, thrown whenever the chat input was cleared. FastGuildInvite watches the chat box close so your F5 and F6 keys keep working after you type — without it they silently stop responding — and to do that it was asking the game a question the game has recently stopped answering plainly. It no longer asks: the tidy-up is harmless to run either way, so it just runs. Reported with the full error text, which is what made it a five-minute fix.
  • The Statistics pie chart spammed errors on retail. On the current retail patch, moving the mouse anywhere near the pie chart on the Statistics tab threw an error — every single frame, so one player saw it 148 times in a session. Blizzard removed the function the chart library used to ask "is the cursor over me?", and the copy of that library bundled with FastGuildInvite still called it. It now uses the current one. This only ever affected retail; Classic was never impacted.
  • A blacklisted player could keep getting whispered, on connected realms. When you blacklist somebody by a plain name with no realm attached, FastGuildInvite has to work out which realm they are on to store the entry. It was assuming your own realm — which is right for most people and silently wrong for anyone from another realm of your connected group. The entry went in under a character who does not exist, so it never matched again: the player stayed blacklisted in the list and kept being contacted anyway. It now uses the real realm whenever the game has told it one, and only falls back to assuming yours when nothing on your client has ever seen that character. Existing entries are untouched; this stops new ones being stored wrongly.
  • The progress bar along the bottom could be stuck at the wrong width. The orange scan bar and the green sync bar are drawn to fill the status strip, and they were measuring that strip in a way that could give an answer left over from a completely different window — so after opening one of the add-on's pop-ups, the bar could stay the width that pop-up had been, however you resized the main window. They now measure the strip that is actually in front of you. Found by the add-on's own tests rather than reported, so you may never have seen it.
  • Handing the baton over left your own Wingman running, and taking it back never offered it again. Two officers, both online, the higher one on duty. They hand over with the baton command, the other officer gets the offer to turn Wingman on, takes it, and all is well — except the first officer's Wingman quietly kept running even though they were no longer on duty. Later they take the baton back and get no offer at all, because the offer is only made to somebody whose Wingman is off. Stepping aside now turns your Wingman off, so taking the baton back offers it to you again exactly as it does at login. One knock-on worth knowing: if you use Restore my session, a session you ended by stepping aside will not come back by itself at your next login — the usual offer will. Reported by Vishiswaz on Discord.

v2.12.1 (2026-08-24)

New

  • A Remove button on the "blacklisted player is in your guild" window. Requested by a player against a screenshot of that exact window. It is the only place that tells you a blacklisted player is in your guild, and until now answering "they are fine, actually" meant closing it, opening Settings and finding them on the Blacklist tab by hand. Remove takes them off the blacklist and leaves them in the guild, in one press.

Changed

  • "Auto-kick blacklist" is now "Check the guild for blacklisted members". A player asked for a blacklist check on login — a feature the addon has had the whole time. Nobody could tell, because the old name and description described something the setting does not do: it said it would automatically remove a blacklisted player from your guild, when in fact it has never kicked anybody by itself. It finds them and asks you, one at a time, and you choose. So anyone who did not want members removed behind their back would switch off the very setting that does what they want. Both the name and the description now say what actually happens. It stays off by default, and if you had already switched it on it stays on — nothing is reset.
  • Recheck no longer uses up your searches. Pressing Recheck used to spend the same limited searches the scan needs, and it could only ask about one person per press — so working through a long queue meant choosing between checking the people you already had and finding anybody new. It now asks the server directly instead, which costs no searches at all and covers the whole queue from a single press. In the first live test that was 65 people answered in one go, for nothing. It is off the scan timer too — because it no longer makes a search, there is nothing left for that timer to ration, so Scan and Recheck no longer block one another: you can recheck your queue in the middle of a scan, and a recheck never holds up your next scan. Nobody you check is disturbed: they see no message of any kind and do not need FastGuildInvite installed. The bar along the bottom of the window fills green while it works, and one line tells you the result when it finishes — how many were online, offline, and not asked. Two things the old Recheck did are gone with it, and it is worth knowing which: the Seen column still updates, but people who have joined a guild since you found them are no longer taken off your queue by pressing Recheck, because asking whether someone is online does not tell us anything else about them.
  • Removed: an old usage-reporting library that had never been switched on. The addon carried a leftover connection to an analytics service from before the current maintainer took it over. It had been disabled the whole time and sent nothing, but the account it pointed at belonged to the original author — so switching it on, which looked like a one-line change, would have sent every user's data to somebody else's project. It has been taken out completely rather than left sitting there.
  • Race information now fills itself in from people who talk to you. Whenever anyone speaks to you — a whisper, guild chat, party, say — the game quietly tells FastGuildInvite what race they are, and until now that was thrown away. It is kept now, so the Backfill races button in Settings fills in everything it already knows before it searches for anything, and tells you how many it filled for free. This reaches people the search cannot: a search only finds players who are online and stops after 50 results, so a guildmate who spoke to you this morning and then logged off could never be filled in before, and now can be.
  • The anti-spam expiry is a slider now, set in days. It used to be a drop-down offering five fixed choices — never, 1 day, 1 week, 1 month, 6 months — sitting directly above a slider that set the invite history retention in days. Two settings that do the same kind of thing, side by side, working in different units. Both are sliders now, both run 0 to 365, and 0 still means never expire. Whatever you had chosen carries across on its own; you do not need to set it again. If your guild leader has set a minimum, that minimum is now actually applied rather than only shown — the setting used to display the longer figure while quietly expiring entries on your own shorter one.
  • Pop-up windows are only as tall as they need to be. Every pop-up was built at a fixed height chosen to fit the biggest thing that kind of window might ever hold, so a short one — a single line and a couple of buttons — came with a large empty gap underneath it. They now size themselves to what is actually in them.
  • The "blacklisted player is in your guild" window loses its Skip button. Skip did nothing that closing the window did not already do, so it was one more button to read and to translate. Closing the window — with Close, the X, or Escape — is now the way to say "neither": they stay in the guild and stay on your blacklist, and you are not asked about them again until you reload or log back in. If the window found several people, closing it still moves on to the next one. The window also gets the i information icon back, in the same place it sits everywhere else in the addon, and hovering it explains how the choices differ.

Fixed

  • The guild blacklist check did nothing at login or after a reload. With Check the guild for blacklisted members switched on, the check is meant to run when you log in and again after every reload. It was running too early — before the game had handed over your guild roster — so it looked at an empty list, found nobody, and finished without a word. The only time it appeared to work was the moment you switched the setting on, because by then the roster had loaded. It now waits for the roster before checking. Reported by a player who pressed Skip, reloaded, and was never asked again.
  • Switching that setting on and off repeatedly stacked up duplicate checks. Each time it was switched on, a new watcher was created and the old one was left running, so several would react to the same person joining. There is one now. Switching the setting off also genuinely stops it, which it did not before.
  • /fgi requeuestop did not stop a re-check. It reported that it had — and told you it stopped "0 of 0" — while the re-check carried on running behind it. Both the stop and the progress it reports now look at the re-check that is actually running.

v2.12.0 (2026-08-21)

New

  • A Zone column on the scan queue. There was a wide empty gap between a player's name and their level, and now it tells you where they were when the search found them — which answers most of the questions people ask about a name in the list. It costs nothing extra: the search was already being told the location and FastGuildInvite was throwing it away. Treat it as a snapshot rather than a live position — nobody's location can be checked again without searching for them, so someone found in Durotar an hour ago could be anywhere by now. A dash means the search did not say, or the player was queued before this column existed.
  • Choose which scan counters you see. The F:0 S:0 A:0 strip shows nine counters and most recruiters watch two or three. Settings > Advanced > Scan counters now has a tick box for each one; unticking hides it from the Scan tab, the compact tray and the hover legend at the same time. It only changes what is displayed — nothing stops being counted, your Statistics are untouched, and ticking one again brings it back with its number intact. You can hide all of them if you want the strip empty.
  • A Soundboard button on the Announce tab. The soundboard — pick one announcement, post it now — could only be opened from the compact tray, so if you never use compact mode you could not reach it at all, even while setting up the announcements it fires. There is now a button for it on the Announce tab, next to Send. It opens the same window, so it keeps the position and size you gave it either way.
  • Share your recruit history with the guild. Other officers running FastGuildInvite can see who you contacted and what came of it, and you see theirs on your History tab. Turn it on in Settings under Sync. It is off until you switch it on, and switching it off stops both directions at once, so nothing of yours is sent and nothing of theirs arrives. Your attempt counts always stay on your own computer. The History tab gains a By column naming the officer who saw each result (blank means you did), and a Mine only tick box to hide everyone else's rows -- the Statistics tab follows the same tick box, so the numbers and the list always agree about who they are counting.
  • See who in the guild is actually doing the recruiting. With sharing on, the Statistics tab gains a By officer line showing invites sent, accepted and joined for each officer, yours first. Everyone's own client is the only one that can write their own row, so nobody's totals can be overwritten or dragged backwards by someone else's out-of-date copy. These update when an officer logs in rather than second by second -- which is the right speed for "who has been recruiting this month", and keeps the guild chat channel quiet while you are inviting.
  • /fgi perf — find out whether FastGuildInvite is what is costing you frames. A handful of players have reported the game stuttering with FGI running. Twice now a likely cause has been found by reading the code, fixed and released, and the reports kept coming — so FGI now measures itself instead of being argued about. Type /fgi perf and it prints, for each part of the addon that does work in the background, how many times it has run this session, how long it has taken in total, and its worst single moment. Type /fgi perf watch and it will speak up whenever a frame takes too long, naming what FGI was doing at that moment — including saying plainly that it was doing nothing, which is just as useful an answer. It starts with the game's own measurement of FastGuildInvite — how many milliseconds a frame it is costing you, how that compares with all your add-ons put together, and how many frames this session FGI alone has taken more than 10ms or 50ms in. That last figure is the one that settles an argument: if it reads zero, whatever is stuttering is not this add-on. It also lists the five most expensive add-ons you are running, by name — so if it is not FastGuildInvite, you still come away knowing what it is. It is on from the moment you log in, so if you have already had a stuttery session you can simply run it; there is nothing to switch on and nothing to reproduce. If you have reported stuttering, this is the command to run and paste back.
  • The soundboard — post any one announcement, right now. Until now nothing could fire a single announcement: the horn posts every Active profile, and so did the Announce tab's Send button. Now every row on the Announce tab has its own Send button that posts just that one, and the compact tray has a new button that opens a picker listing your announcements so you can click the one you want. The picker stays open, so an announcement going to three channels is three clicks rather than three trips. It skips the waiting: no cooldown, no sixty-second floor, no rotation interval, and it will even post an announcement you have switched off — pressing its own button says more than the On tick box does. It still respects the things that are not timers: the few seconds after login before the server has connected you to guild chat, and your guild's designated-recruiter rule on public channels. One press posts one message, the same as the horn, because WoW only lets an add-on send chat as the direct result of a click.
  • Pause Wingman while you're in a dungeon, raid or battleground. Requested by a player who raids with Wingman running. Wingman turns every click you make into one recruiting step, so during a pull your tab-targeting and ability clicks keep feeding it. Turn on Pause inside dungeons, raids and battlegrounds in Settings > Wingman and it holds everything while you're inside — no scanning, no invites, no announcements — then picks up by itself the moment you leave. Your session stays on the whole time, so your scope and priority are exactly as you left them and there's nothing to switch back on, and a paused click doesn't use up the wait between actions either, so the first click after you zone out acts straight away. It's off unless you turn it on. Note this is not the same as the Quiet Zones tab: that one decides which players FastGuildInvite will recruit based on where they are, and dungeons and raids are already on its list. This new setting is about where you are. One thing it deliberately leaves alone: if you've set Wingman's Auto-stop timer, that clock keeps running while you're inside.
  • The History tab now has a search box and a Clear All button. The same strip the Anti-Spam tab has, in the same place and behaving the same way — type any part of a name to filter the list, clear it with the X or by pressing Escape, and the filter stays put when you switch tabs and come back. New entries now also appear while you are looking at the list, instead of only when you switch back to it. Clear All wipes the invite list only — your lifetime totals and the Statistics graph are left alone.

Changed

  • Hiding the scan counters now lets the main window get much narrower. Requested by a player who wanted a smaller window: they unticked all nine counters and found the window still would not shrink. The smallest width was a fixed number set back when there were only five counters, and it took no notice of how many you were actually showing. It is now worked out from what is really on the strip, so every counter you hide buys you room — with all of them off the window goes down to about 610 pixels wide instead of 900. With all nine showing it is exactly what it always was, so nothing moves for anyone who has not touched the setting. Hiding counters lowers the limit but never resizes your window for you; drag it in yourself when you want to.
  • Recheck is much faster, and more accurate. It used to look up your queued players one name at a time -- sixty people meant sixty button presses. It now searches the way the normal scan does: one search covering the whole level range of your queue, so a queue holding levels 5, 18, 37 and 60 asks about 5-60 in one go instead of asking four times. It is also more correct than before: a search can only return fifty players, so when one comes back full FGI now narrows it down before deciding somebody is offline. Only people already in your queue are touched, so a recheck can never add strangers to it. Press Recheck again to work through it -- scanning any other way ends the recheck and goes back to looking for new people.
  • The Recheck button now works exactly like the Scan button. Push it, wait out the timer, push again — the same rhythm as >>, and the only difference between the two is what they search: Scan covers the server, Recheck covers the people already in your queue. The button shows the seconds until you can press it again, and how far along the recheck is now appears on the status bar at the bottom, exactly where a normal scan's progress does. Both buttons share one timer, since both are limited by the same /who rate limit. /fgi requeuestop cancels a recheck.
  • The History tab is now one line per recruit instead of one line per event. It was filling up with repeats — the same name over and over, nearly all of them saying "Not Found". One player's history had 455 entries in it covering just twelve people, 364 of them for a single player. Now each person gets one line showing how many times you have tried them, whether they whispered you back, where they stand, and when that last changed. Three things you could never see before are on it: Replied (they answered your whisper — the ones actually worth chasing), In guild, and Left guild. The noise — names the server did not recognise, auto-replies, invites that never resolved — is counted on the Statistics tab instead of taking up a line each. The Tries column is worth a glance: a big number next to somebody who never answered means the scanner keeps going back to them.
  • The totals line on the Statistics tab now explains its own numbers. The Not Found, AFK, DND and Unresolved figures count differently depending on the period you pick: All time counts every attempt, while any shorter period counts how many different people. That is deliberate — one player the scanner retried ninety times should not read as ninety — but it makes the numbers drop sharply when you change the dropdown, which looks like something is broken. Hover the totals line and it now tells you which you are looking at.
  • The compact tray starts a lot narrower. Its top strip had grown to hold the counters and eight buttons on a single line, which forced the whole window wide. The buttons now sit on one row and the F:S:A:X:D counters on a second row underneath, with your five queued players below that. The narrowest you can drag it has come down from 402 to 285 pixels, and a fresh install now opens at 300 instead of 360. If you have already resized your tray it keeps the width you set, unless you had it narrower than 285 — the new soundboard button needs that room, so a tray narrower than the buttons fit in reopens at 300 and you can drag it back. You can drag the window by either header row.
  • Scanning no longer types into WoW's own Who box. Every search FastGuildInvite sent also wrote the search text into Blizzard's Who window, so opening it after a background scan showed a search you never typed. It bought nothing — the query goes to the server directly and the add-on never read that box back. It is also removed as a precaution: writing your own text into one of Blizzard's input boxes is a known way for an add-on to interfere with that part of the interface, and that box shares a window with the guild roster's Promote button, which one user has reported being blocked. That may or may not be the cause; either way the add-on had no business writing there.
  • Clicking FastGuildInvite's own windows no longer spends a Wingman step. Wingman turns each of your ordinary clicks into one recruiting step, and it was counting clicks on FGI's own windows too — so ticking a checkbox in the addon quietly used up a scan or an announcement, and could take the chat message that a button you had just pressed was about to send. Clicks on FGI's windows now do nothing to Wingman: no step, no timer, no cooldown. Playing the game still drains it exactly as before.
  • The "post this one announcement" buttons are horns now. The Send button on each Announce row and the picker button on the compact tray used a note-page icon that said nothing about announcing. They are horns — a different horn from the broadcast one, because they do a different job: the broadcast horn fires every Active profile, these post the single one you point at.
  • The soundboard lists your announcements A to Z. It used to show them in the order you created them, which is fine while you are editing and useless for finding one at a glance once you have fifteen. Sorting is by name only — the order on the Announce tab, and any rotation built from it, is untouched.
  • The soundboard can no longer be shrunk small enough to hide announcements. You could drag it down until most of your list was off the bottom, with nothing to tell you the rest was still there — it just looked like a shorter list. It now refuses to go smaller than the announcements it is showing, in both directions. If you have a lot of them that means a tall window, which is the point.
  • The soundboard looks like the compact tray now, and remembers where you put it. Its list was a stack of big red buttons that matched nothing else in the add-on. It is now the same kind of window as the tray itself — no heavy border, plain rows with faint alternating shading so your eye can follow one across, and a row lights up as you move over it. You can drag it and resize it, and it keeps its position and size from one open to the next, per character.
  • The soundboard button has moved next to the announce horn. It used to sit at the far left of the tray's button row, with the scan and invite buttons between it and the broadcast horn. The two horns are the same kind of control over a different set of announcements, so they now sit side by side. Nothing else about the row moved and the tray is no wider.
  • The resize corner is visible, and easier to grab. The compact tray could always be resized, but the only hint was three faint dots that appeared once your cursor was already on them — so if you did not know it was there, you never found it. Both the tray and the soundboard now show a proper corner grip at all times, the same one Recount uses, and it is bigger. The row of tick / question / cross buttons on each queue line also shifted a few pixels left, because the grip sat underneath the last one and you kept catching the button instead of the corner.
  • Less work done on every line of public chat. Announcements can be set to hold off while a channel is busy, which means FGI looks at each line that goes past in the channels you have picked. That check was doing more than it needed to on every single line — rebuilding lists it could simply read, and re-checking whether one of your own announcements had just arrived even when none was waiting. It is now a fraction of the work. This was found by looking, not from a report, and it is a tidy-up rather than a cure for anyone's stutter — the new command above is what will tell us where that actually is.
  • Removed: the "Remember skipped players" setting. Requested, and the reason is a good one: it made the Skip button mean two different things depending on a checkbox in another menu. Turned on, Skip quietly did what Decline does; turned off — which was the default — Skip was just "get this one off my screen" and the player came back later. Skip is now always the gentle one: it clears the player from the current list and they can turn up in a later scan. Decline is the one that remembers them. If you had the setting switched on, use Decline where you used to use Skip; if you never touched it, nothing changes for you.

Fixed

  • Another add-on could switch off the check that keeps guilded players out of your queue. The filter that drops anyone already in a guild had a hidden off switch in it. Nothing in FastGuildInvite ever used that switch, but it was left where any other add-on running alongside it — or a single typed command — could flip it, and once flipped, every guilded player a search turned up would go straight into your queue. The switch has been taken out altogether rather than hidden better, because the only reliable way to stop something else flipping it is for it not to be there. If you have been seeing people who are already in a guild appear on your scan list, this is the most likely explanation, though it is not yet confirmed as the cause.
  • A search could quietly come back with fewer players than the game actually found. The game is allowed to hand back a blank entry partway through a set of search results, and when it did, FastGuildInvite stopped reading there and treated the short list as the whole answer. Everybody after the blank was never seen at all — no error, no message, nothing to suggest the batch had been cut off early. It now steps over the blank and reads the rest of the results. Found by review rather than from a report, and it would have been invisible if it had happened to you: a search that finds eleven people instead of twenty looks exactly like a quiet evening.
  • The scanner kept going back to the same offline player, over and over. This is the one behind the enormous "Not Found" counts in the history. When you whisper someone who has just logged off, the server says "no player named that is currently playing" — and FastGuildInvite deliberately does not add those people to your Anti-Spam list, because being briefly offline is no reason to write somebody off for good. Nothing else stopped it either, though, so the next search found them again, whispered them again, and forgot again. In one player's data a single name had absorbed 364 entries in 28 minutes — around 90 whispers at one person who was not even there. Now, after the second failed attempt at a name in one session, the scanner stops offering them for the rest of that session. They are not added to Anti-Spam and nothing is remembered permanently: log out and back in, or reload, and they are a fresh candidate again. Second rather than first on purpose — a single miss can be a false alarm on connected realms, and that should never retire someone.
  • The orange progress bar along the bottom did not shrink with the window. Make the window narrower and the orange stayed the width it was when it was last drawn — so after a finished scan it ran straight past the right-hand edge of the window, over the Close button and out onto your screen. It now redraws itself whenever the window changes size, in both directions, and the same goes for the teal guild-sync bar. You would only have seen this if you resized the window after a scan; it became easy to hit now that the window can be dragged much narrower.
  • A search result with no location could throw an error and lose the whole batch. The game does not always say where a player is — someone caught mid-zoning comes back with no location at all — and one of those could stop FastGuildInvite reading the rest of that search's results. Everyone else the search found was dropped along with them. Found while adding the new Zone column, not from a report.
  • Four lines of the counter legend showed a box instead of a dash. Hovering the F:0 S:0 A:0 strip explains what each letter means, and the Declined, AFK, DND and Unresolved lines each used a character the game cannot draw, so it came out as an empty box. Nobody reported it — it was found by a new check that now refuses any character the client has no glyph for.
  • The Anti-Spam tab's "Re-check & invite" button could quietly never bring the player back. Both it and the pass-up button beside it are meant to clear somebody off your anti-spam list so a later search can put them in the queue again. If the player had been marked as "already in this scan" under a slightly different spelling of their name -- with or without the realm, which happens routinely on connected realms -- the button cleared the anti-spam entry but not that mark. The search then went out, the player came back, and FastGuildInvite decided it already had them and dropped them on the floor. No message, nothing in the queue. Both buttons now clear the mark whichever way the name is written.
  • People who walked into a dungeon after you found them were still being whispered. This is the one behind the reports of recruitment whispers arriving mid-dungeon. Quiet Zones could stop somebody joining your queue while they were inside an instance, but never took them out of it -- so anyone found out in the world who then zoned in was still contacted. Now, whenever an ordinary search happens to spot a queued player standing somewhere you have marked quiet, they are taken off the list. It costs no extra searching at all: your normal scanning already turns the same people up repeatedly, and that sighting was simply being thrown away. They come back to the queue by themselves the next time a search finds them somewhere ordinary.
  • Your filters were only checked when a player was found, never again afterwards. Anyone already sitting in your queue was invited as though the filter were not there -- so turning on a healers-only filter did not stop warlocks you had found earlier from being whispered. Your queue is now checked against the filters you have switched on right now, at the moment each player is contacted, and anyone who no longer matches is quietly passed over. A filter you have switched off also no longer decides which message gets sent: previously a player found while an old filter was on kept receiving that filter's message even after you turned it off and set up a different one.
  • A queue recheck quietly restricted every other kind of scan. A recheck only ever looks at people already in your queue -- but while one was running, the Scan button and Wingman were both pulled into it, so neither could find anybody new. Wingman could click away for as long as you played and never add a single player. Rechecking is now the Recheck button's job alone: scanning any other way simply ends the recheck and does a normal search. Press Recheck to work through a recheck, and use Scan or Wingman when you want to find new people.
  • The History tab was full of "Not Found" entries for people you never invited. Reported as "the history looks wrong, and there are tons of duplicates" — and it was. When you whisper someone who has just logged off, the game replies "no player named that is currently playing", and FastGuildInvite was writing that down as though it had been one of its own invites. It did not matter who sent the whisper: your own typed messages, and other add-ons' too, all landed in your invite history. On top of that, a long recruitment message is sent to the player in several pieces, and an unreachable player produces one of those replies for each piece — so a single attempt could fill four rows in the same second. One player's history had 455 entries in it, of which exactly two were a real recruiting result. FastGuildInvite now only records a result it can match to an invite it actually sent. Existing entries are left alone; if you would like the old ones gone, the History tab's retention setting will age them out.
  • Four tick boxes were missing from Settings > Tabs until you clicked away and back. On the Tabs page, Anti-Spam, Blacklist, Guild Roster and Quiet Zones simply were not there when you first opened it — switching to any other settings tab and back brought all twelve up. The page was being drawn before the settings window had finished working out its own size, and it never redrew itself afterwards. It now does that one extra redraw for you, so the full list is there the first time.
  • The Recheck button only ever ran once, and threw errors for the rest. If you had error reporting on you would have seen a run of "tried to call the protected function 'SendWho()'" messages. WoW only lets an add-on send a /who as the direct result of a click, and Recheck was trying to send the rest of them on a timer, which the game refuses. It now does one search per click: press it once to start, and press it again to carry on — it tells you how many searches are left. This is the same one-per-click rule the invite button has always worked under.
  • The Seen column stayed empty, and your queue had been quietly collecting duplicate rows. After a /reload, your queue came back but FastGuildInvite no longer recognised those players as ones it already had. So the next time a search found one of them it added a second line for the same person and never filled in their Seen day — which is why that column showed nothing but dashes. This had been happening after every reload for a long time; Recheck is simply what made it obvious, since filling that column in is what the button is for. Both are fixed.
  • Two officers who saw the same recruit in the same second could jam the guild sync. Found in review before release. When two of you stamp the same person in the same second with different outcomes — ordinary during a scan, where you may both be reading the same search result — neither client would send the other its copy, because each only passed on records it judged newer and neither was. Both could still tell they disagreed, though, so both kept asking, forever. It also meant the tie-breaker built for exactly that situation never got a chance to run.
  • Recording the same recruit twice in one second could jam the sync too. The companion to the one above. If you stamped one person twice inside the same second — replied, then joined, say — both entries carried the same time, and a guildmate who received the first but missed the second could see that you disagreed without either side being able to settle it, because the tie-breaker compares who observed it and both were you. Times now always move forward, so a second change in the same second is genuinely later than the first. A time that arrives from a guildmate is passed on exactly as they sent it.
  • Timestamps came from your PC's clock, and your guild compares them. When something happened is now taken from the server rather than from the computer you are playing on. Three separate parts of the guild sync compare those numbers between officers, so one person with a wrong clock could win or lose all of those comparisons regardless of who actually saw what first. Entries you already have keep the times they were saved with.
  • Recheck could never get past its first search. Caught while testing the change above, and it was broken three ways at once, all from the same cause — the timer that used to run a recheck by itself is gone (WoW only lets a /who go out when you actually click), and three things were still built as though it were there. Clicking Recheck a second time stopped it rather than carrying on, so it could only ever ask one search and then die. It was also restarting from the beginning on each press instead of continuing, which affected /fgi requeue too. And the progress bar was measuring the wrong thing: a one-question recheck run after a big scan showed as 1 of 1559, which looks stalled rather than nearly finished.
  • The "post this one" button could blame a cooldown that was not the problem. Pressing an announcement's own horn skips every timer — that is the whole point of it — but if the press had nothing to send it still said "all active profiles are on cooldown". The usual real reason is that the announcement has no channel ticked, so the message sent you off to watch a countdown instead of to the checkbox that was actually empty. It now tells you there is nothing to post.
  • Scanning was silencing tab-click sounds all over the game. While a search was in flight, FastGuildInvite switched off two of WoW's sounds — and they turned out not to be Friends-window sounds at all, but the general "tab clicked" and "panel closed" sounds the Auction House, the Achievement panel and the Guild Bank all use. Click a tab in any of those during a scan and you heard nothing. Worse, the sound it was hiding was the add-on's own: after a search FastGuildInvite puts your Social window back on the tab you were reading, and the way it did that made the game play a tab-click. It now switches the tab back without making the sound in the first place, so nothing needs muting and the rest of the game stays audible.
  • The per-row Send button did nothing when your guild enforces its own announcements. When a guild enforces announcements, its set replaces your personal ones for a normal horn click — that part is correct. But the Announce tab shows both lists together, and the per-row Send button was being answered by that same either/or, so pressing a row from whichever list was not currently active did nothing at all. A press aimed at one named announcement is not a policy question: every row you can see is now pressable, whichever list it came from. A normal horn click still honours your guild's override exactly as before.
  • The four icons on each compact tray row could take each other's clicks. Blacklist, Decline, Skip and Invite sit very close together, and each one's clickable area had been made slightly larger than the icon — large enough that neighbours overlapped by a pixel. A click landing right on the join between two of them went to whichever was on top, so you could blacklist somebody you meant to skip. The icons now keep a clear gap between them.
  • Someone you had blacklisted could reappear on History as a promising lead. If a blacklisted player whispered you back, their line changed from Blacklisted to Replied — the one status the page highlights as worth chasing. So the person you had deliberately ruled out was being recommended to you, and whispering you is exactly what a blacklisted player is most likely to do. History now reads the blacklist itself rather than remembering a copy of it, so nothing they do afterwards can hide it. Take them off the blacklist and their line goes back to normal straight away.

v2.11.5 (2026-08-17)

  • Fixed: scanning stopped with a "stack overflow" error. Reported straight after the last update, from the same Spanish Retail player. Before a scan runs, FastGuildInvite works out roughly how much work it will be by reading back what a search has already been narrowed down to. When it could not read one of those back, it decided that part had not been narrowed yet and narrowed it again — producing exactly the search it was already looking at, then reading that, and round again until the game gave up. It now recognises a search it has already counted and stops there, so this cannot happen again whatever the reason. The count it produces only feeds the progress bar; nothing about which players you find changes.
  • Fixed: race and class names could not be read back in most languages FastGuildInvite supports. The part of the addon that reads a race or class name back out of a search only understood plain English letters, Russian, an apostrophe and spaces — in an addon that ships in more than thirty languages. Accented Spanish and French names, and every Chinese, Korean, Japanese, Arabic, Thai and Hindi name, were unreadable to it. All of them work now. To be straight about it: this is a real bug, but it is not what caused the crash above — the search in that report reads correctly either way, and why it looped is still being tracked down.

v2.11.4 (2026-08-17)

  • Fixed: scanning threw an error on every search after a realm patch. Reported the morning a Spanish Retail realm took its patch — scans started failing with a Lua error the moment they tried to narrow a search by race, which nearly every search does. Nothing about the player's settings had changed, and their English Retail characters, on realms that had not patched yet, were fine. The cause: FastGuildInvite reads the game's race names at startup, and on Retail it did so in a way that could not survive Blizzard retiring or renumbering a single race. When that happened the whole race list was lost, and the scanner fell over on it later. It now copes with a race it does not recognise — that race is simply absent from the lists instead of taking the scan down. If you were seeing repeated errors during scans, this was it, and it needs nothing from you beyond updating.
  • Fixed: the same crash could also be reached by setting FastGuildInvite's language. Found while investigating the above. If your game client was not English and you set the add-on's own language to something else, the race list went missing the same way. Both routes are closed.
  • Fixed: FastGuildInvite would not start for a Pandaren who had not chosen a faction yet. On Mists of Pandaria Classic, a character still in the neutral starting zone belongs to neither side, and the add-on could not cope with that answer — it failed to load at all. It now shows every race until you pick a side.
  • New: if something like this ever happens again, the add-on says so instead of falling over. The problem above was one small thing failing at startup and then surfacing much later as an error during scanning, which is why it was hard to track down. FastGuildInvite now checks at login that it built its race and class lists properly. If it did not, it carries on with what it has — scans still run, they just do not narrow by race — and prints a short message in chat asking you to report it. If you ever see that message, please do: it names exactly what went wrong, which turns a week of guessing into a one-line answer.

Older patch notes are in the addon's CHANGELOG.md file (ships with the addon).

Credits

Knoot0279 — original author of Fast Guild Invite; designed and built the core scan engine, filter system, sync architecture, and guild integration that the addon is built on.

Pimptasty — revival, ongoing maintenance, Retail compatibility layer, blacklist system overhaul, Anti-Spam List UI, multi-version TOC, and new feature development.

Community

Bug reports, feature requests, questions, or chatting with other guild recruiters: Join the FGI Discord.

At-a-glance numbers

Performance highlights

  • Peaked at Hot #37 on Sep 11, 2026.
  • Featured on the Hot list across 5 distinct weeks.
  • Shipped 9 releases in the last 30 days.
  • Averaging 141 new downloads per day over the past week.

Discover more

Keep exploring

Similar addons you might also want to check out.

More by Pmptasty

Same creator, different utilities.

Similar in Guild

Comparable addons in the same lane.