Already open?
That’s the tab.
TabHero finds your open WhatsApp Web tab and switches chats inside the app, preserving the loaded document.
NOT ALL HEROES OPEN NEW TABS.
You wanted to start a chat.
Not open a franchise of WhatsApp tabs.
TabHero takes the link to the WhatsApp Web page you already have loaded and opens the chat right there. The number and text come along. Your session stays put.
It was supposed to be one new chat.
Now it is. ✓
An illustration of the flow. Not a WhatsApp screenshot.
NEW CHAT. SAME TAB.
No developer server receiving your chats. No ads or sale of your data. Usage statistics are off unless you choose to share them.
Saved replies and your optional OpenRouter key stay in local extension storage in this browser profile, without browser sync. Drafts and send-operation records use browser-session storage. We do not build or upload a chat-history archive.
AI is optional. Only after you connect your own OpenRouter key and click Suggest, the displayed received text (including any caption) and your draft go directly to OpenRouter and its AI provider. Your key authenticates that request. Their policies govern processing and retention. Media files are not sent to AI.
The source is public under the MIT license. Inspect the code, build it yourself, report issues and compare the source with the release you installed.
Privacy, local storage & source ↗01 / THE RELIEF
You’re already signed in. Your tab already exists.
The link just needs to find its way there.
TabHero finds your open WhatsApp Web tab and switches chats inside the app, preserving the loaded document.
The number, accents, emojis, and message from the link all make it into the draft. No messages are sent automatically.
Open source and MIT licensed. No developer server receives your chats. Optional usage counts help us improve features and fix errors, only if you choose to share them.
02 / TRY THE IDEA
Switch modes and click the link.
This is a simulated interface. It doesn’t open WhatsApp or send messages.
The tab’s already open. Go ahead and click.
Ready for the next chat.
03 / THIS DETOUR HAS A HISTORY
People have publicly reported extra tabs, new instances, and links opening the wrong app. These are individual experiences — and a good reason to make the flow better.
A user describes a new instance loading after choosing WhatsApp Web.
A team reports new tabs and instances when opening contacts from its support dashboard.
A person using separate accounts wants to keep business chats in the browser, but the desktop app gets in the way.
Editorial summaries of historical reports, not testimonials about TabHero. See all 8 sources and the research limits ↗
Explore the community notes ↗04 / LET’S MAKE THIS EASIER
Available in the Chrome Web Store and Mozilla Add-ons.
Choose your browser and install from its official store.
Chrome 120+. Install from the official Chrome Web Store listing.
No developer server receiving your chats. No ads or sale of your data. Usage statistics are off unless you choose to share them.
Already installed? Reload the extension. Leave WhatsApp just as it is.
05 / THE ALMOST-COFFEE
TabHero is free and stays free. If it saves you a little tab frustration, you can support development from US$ 1.
A GitHub star gives us a boost, tooWhen enabled: choose the amount and type of support on GitHub Sponsors. Sponsorships from personal accounts have no GitHub fee; those from organizations may have a fee of up to 6%. A GitHub account is required.
06 / BEFORE YOU ASK
* Well, a little. But it’s readable.
No. TabHero is an independent project, with no affiliation, sponsorship, or endorsement from WhatsApp or Meta. WhatsApp is a trademark of its respective owners.
The core goal is to open the chat inside the document that’s already loaded. TabHero uses internal app commands. If the integration fails, it shows an error; it doesn’t reload the tab as a fallback.
Quick reply reads names, unread counts and the latest incoming text already loaded in WhatsApp. It sends only when you click Send. Saved replies and your OpenRouter key stay in this browser profile; drafts last for the browser session. On Suggest, the displayed received text and your draft go to OpenRouter and its AI provider. No chat-history archive is created. Optional usage counts help improve the extension; conversation content is never included in those statistics.
It’s still experimental. Automated tests run in Chromium and Firefox with a simulated WhatsApp interface. They check that the document, state, and draft are preserved, but don’t prove the integration works in a real signed-in session. WhatsApp’s internal modules can change.
The tab must be in the same browser and profile as the extension. Links without a number, groups, and channels follow their normal flow. If WhatsApp isn’t open, an initial tab is created. Temporary Firefox installations need to be repeated after restarting the browser.
We’ll happily retire the extension. What matters is getting the chat to the right place. The idea is here. So is the code.
SMALL IDEAS DESERVE TO BECOME THE DEFAULT.
Until then, the code is open. To test, improve, and keep the conversation moving.
The idea is here. So is the code.