Duplicate Prevention
Stop opening the same tab twice. Takt detects duplicate URLs, closes the new tab, and focuses the original.
How it works #
When you open a new tab:
- Takt normalizes the URL using your chosen strategy
- It checks the normalized URL against all currently open tabs
- If a match is found: the new tab is closed, the existing tab is focused, and a brief toast notification appears
- If no match: the tab opens normally
Works in every grouping mode #
Duplicate prevention runs regardless of which grouping mode is active (Rules, Category, AI, or None). Takt checks a new tab once, on its first page load. A new tab page that is still waiting for an address has not loaded a page yet: the check runs on the first address you open in it, as long as that happens within a minute of opening the tab. A redirect during that first load is part of it: the check uses the address the tab lands on. Later navigations and redirects in the same tab are not checked. Duplicate prevention therefore never closes a tab that has already loaded a page, even if it moves to a URL that is already open elsewhere. Tabs that Chrome restores when the browser starts are not new tabs and are not checked.
URL normalization strategies #
Different strategies control how strictly URLs are compared. Set a global default in Settings, or override per rule.
| Strategy | Ignores | Example |
|---|---|---|
exact |
Nothing (after universal normalization) | /page#top ≠ /page#bottom |
ignoreFragment |
Fragment (#...) |
/page#top = /page#bottom |
ignoreQuery |
Query string + fragment | /page?ref=tw = /page?ref=gh |
ignoreAll |
Query + fragment + trailing path differences | Origin + path only |
originPath |
Same as ignoreAll | Origin + path only |
The default strategy is ignoreFragment, which works well for most sites.
Universal normalization #
All strategies apply these normalizations before comparing:
-
Lowercase the scheme and hostname (
HTTPS://GitHub.COM→https://github.com) -
Strip
www.prefix (www.example.com→example.com) - Remove trailing slash (
/path/→/path) - Decode unreserved percent-encoding (
%41→A) - Sort query parameters alphabetically
Per-rule strategy #
Each rule can override the global default. This is useful when different sites need different levels of strictness:
-
Use
exactfor single-page apps where fragments represent different views - Use
ignoreQueryfor sites that add tracking parameters - Use
ignoreAllwhen you only care about the domain and path
Bypass methods #
When you intentionally want to open a duplicate:
- Shift+click a link — the duplicate check is bypassed for that navigation
- Right-click → "Open in new tab (allow duplicate)" — context menu bypass
- "Open anyway" — click in the toast notification or popup after a duplicate is blocked
Close duplicate tabs #
The Close Duplicates action scans all open tabs and closes every duplicate, keeping the first occurrence of each URL.
Click the Close Duplicates button on the popup home pane, or use Quick Actions to run it from anywhere.
All duplicates close immediately with no confirmation. The first tab opened at each URL is kept; subsequent duplicates are removed.
Enabling duplicate prevention #
- Open the Options page and go to Settings
- Check "Prevent duplicate tabs"
- Choose a default normalization strategy
- Optionally override the strategy on individual rules in the rule editor