The four ways to interact with XTagger
XTagger has four distinct interfaces. Each is designed for a different task. Knowing which to use makes everything faster.
1. The hover trigger — tagging on the fly
Open it: Hover your mouse over any username on X.com. A small gold 🏷️ tag button appears to the right.
What it’s for: Creating or editing tags without leaving the feed. This is the primary way most people tag — you’re reading, you see someone interesting, you tag them in two clicks without losing your place.
What you can do here:
- Create a new tag with a name, colour, and optional notes
- Quick-assign a tag you’ve used before (one click from the “Quick assign” section)
- Edit or delete an existing tag by clicking a pill
What you can’t do here: Search your full tag library, export, or change settings.
2. The popup — your tag library
Open it: Click the 🏷️ icon in your browser toolbar (or the extension button, then XTagger).
What it’s for: Managing and reviewing everything you’ve tagged. This is command central.
What you can do here:
- Search tagged users by name or tag
- See all tags at a glance across your entire collection
- Import a collection someone shared with you
- Export your tags — all of them, or a filtered named collection
- Change display settings (pill style, theme, palette size)
What you can’t do here: Create tags on-page (for that, use the hover trigger or context menu).
3. The context menu — right-click tagging
Open it: Right-click anywhere on X.com → Tag this user with XTagger.
What it’s for: Tagging when the hover trigger isn’t convenient — keyboard-driven workflows, unusual page layouts, or profile pages where you want to tag without hovering.
What you can do here: Everything the hover trigger can do — create, quick-assign, edit.
What you can’t do here: Browse your tag library or change settings.
4. The extension management page
Open it: brave://extensions or chrome://extensions → find XTagger.
What it’s for: Installing, updating, reloading after crashes, and assigning a keyboard shortcut.
When you need it:
- After updating source files, to reload the unpacked extension
- To set a keyboard shortcut for opening the popup
- To check for errors in the extension’s background service worker
How data flows
When you save a tag through any of the above interfaces, the flow is:
- The content script (running in the X.com page) sends a
tags:createmessage to the background service worker - The background service worker writes the tag to
chrome.storage.localvia IndexedDB - The background fires a
tag:createdevent back to the content script - The content script finds the user on-screen and injects a coloured pill next to their name
Everything happens locally. No network requests leave your browser for tag data.
Why tags sometimes appear only after a page refresh
XTagger’s MutationObserver watches for new DOM nodes added to the page as X.com loads tweets. Tags are injected as soon as a username is detected. On first load, if tweets render before XTagger’s service worker has fully started, a few usernames may be missed — a hard refresh (Ctrl+Shift+R) re-scans the full page.
This is a startup timing issue, not a data issue. Your tags are always safely stored.