Skip to content

For people running serious AI workloads

Stop babysitting your AI tabs.

You pay $200+ a month so the best models on earth work for you. Then a run finishes — or stalls on a question — and sits there, unseen, while you grind through something else. AI Tab Switch is a radar for every AI tab you have open. The second one needs you, you know.

7-day free trial · Local-first · No API keys · Never spends your tokens

The most expensive minute in your day is the one where the model is done — and you don’t know it.

The silent stall

Claude Code has been waiting on one permission click for 20 minutes. It isn’t working. It isn’t failing. It’s waiting for you — and nothing on your screen says so.

The tab patrol

Five sessions across three providers, so you alt-tab through all five to find the one that moved. Attention researchers put the cost of refocusing after an interruption at roughly 23 minutes. You run that loop a dozen times a day.

The expiring window

Max-tier quota windows reset on the clock, used or not. Every hour a finished session sits unnoticed is capacity you paid for and never harvested.

The community has a word for this: babysitting. You solved the model bottleneck with money. What’s left is the handoff — the gap between “it needs you” and “you noticed.” That gap is the product.

35
AI surfaces watched — chats, coding agents, app builders, image tools
12
states detected — from the page itself, plus an optional LLM triage
0
page bytes sent anywhere until you ask. Detection is local and the licence check carries nothing but your licence key — the two features that do send (LLM triage, phone alerts) are off until you switch them on.

Know the second any tab needs you

One row per tab, and the ones waiting on you sort to the top. Red while it generates, green the moment it lands, amber when it's your move. Read from the page itself — no API keys, no vendor status endpoint to poll — and on the card within seconds.

asked a questionerrormodel unavailableneeds permissionlogged outundone workrate limitwork on your sidefinishedgeneratingnewidle

Interrupt-aware, not just done-aware

“Finished” is the easy case. The radar also catches the states that silently eat your day: a trailing “want me to continue?”, a permission card, a rate limit, a logout, a model that went down mid-run, an error banner.

Understands agent surfaces

Claude Code keeps its spinner running while it waits on a question card — most eyes read that as “still working.” The radar reads the card, flags it asked a question, and stops you from losing 20 minutes to a spinner. Same watch over the async builders — Jules, Devin, Cursor, Lovable, Bolt, v0, Replit — the tabs you were told to walk away from.

Knows thinking from stalling

ChatGPT’s long “Pro thinking” phases hide the stop button and stream nothing. Cheap detectors call that finished. This one doesn’t.

Notifications on your terms

Desktop notifications for Finished, Blocked (questions, errors, limits, logouts, permissions), or both. Optional chime. A ready-delay filter kills sub-second false finishes, and the toolbar badge counts what’s waiting on you — blocked tabs first, then finished ones, “…” while something still runs. A blank badge means keep working. Safari gives extensions no notification API, so there the badge, the chime and phone alerts do the job.

Batch mode for deep work

Running six agents? Tell the radar to stay quiet until, say, three of them are done — blocked states still break through immediately. One interruption instead of six.

A second opinion on “finished”

Optional LLM triage re-reads an answer that looks done and flags what page heuristics can’t: work left unfinished, a go-ahead it is waiting for, or a step only you can take — a key to set, a command to run, a decision to make. Built in for subscribers on free models — or bring your own OpenRouter key and it runs straight from your browser, still on free models, so the key is never charged.

Keep runs moving while you're somewhere else

Noticing faster is half the win. The other half: not being needed at all.

Auto-continue paused Claude runs

Long Claude turns pause behind a “Continue” button when they run out of tool calls. The radar clicks it for you and the run keeps going — with a cooldown between clicks and a cap, so a Continue that keeps coming back without the run moving surfaces as needs permission instead of being clicked forever. Turn it off, and the tab honestly shows needs permission instead of pretending to be done.

Queue prompts against a busy tab — or steer mid-generation

Draft the next three follow-ups while the model is still generating. They fire automatically, in order, once the tab reaches finished — each after a short, human-paced pause (30 secondsplus a random extra, both yours to set) that the card counts down — and until then they’re a drag-and-drop list you can reorder or prune. On ChatGPT, steer mode delivers while the model is still typing when the composer allows it; everywhere else prompts queue safely instead. Your thinking doesn’t wait for its typing.

It never types over you

A staged prompt won’t overwrite text you left in a chat’s box — it waits until you send or clear it, and the card says why. Stage one in a conversation, switch the tab to another, and the prompt is held for the conversation you wrote it for. And whatever a send loses — a file the provider refused, a prompt cut to its length limit, a page with no text box to type into — is named on the card, never dropped in silence.

Broadcast one prompt to many tabs

Select five sessions, write once, send everywhere. Compare Claude’s answer against ChatGPT’s and Gemini’s without pasting three times.

Your saved prompts, one click from every composer

The prompts you keep on your Repo Prompts board sit behind a button in the radar’s compose box and in every card’s reply box. Pick one and it lands at the cursor, word for word — or send it straight to the tabs you selected, without retyping the review checklist you wrote once. The list is fetched from your board when you open it and never stored in the extension; using a prompt marks it used on the board.

Files ride along

Attach documents and screenshots to a staged or broadcast prompt — paste, drop, or the paperclip. They’re delivered into the target tab’s own composer, stored only in your browser, and deleted the moment the prompt has been sent. If a provider can’t take a file you’re told — up front in the compose box where the provider publishes its limits, on the card otherwise — and the text still goes.

It reaches you when you’ve left — and you can answer

Walk away and the radar can still find you. A tab that asks a question, hits a wall or logs itself out pushes a notification to your phone — carrying the model’s actual words and a tap that opens that exact conversation (a private chat says only that it needs you, never what it said). Switch on replies and the alert answers back: your first two quick replies as one-tap buttons, or type a full answer on your phone, and it lands in the tab exactly like pressing Reply at the desk — with a confirmation pushed back once it has landed. All of it goes through your endpoint: ntfy.sh or an ntfy server you host yourself. No account, no middleman, nothing routed through us. Off until you switch it on and paste a topic in.

Rate limits become schedules — or a detour

A limited tab shows when its window reopens, right on the card — and staged prompts can notify you at the reset, or send themselves the moment capacity is back (opt-in). The wall you hit becomes the timer that resumes the run. Or don’t wait: the card offers the provider you use with the most room left, and one click opens a fresh chat there, hands it the conversation (or only your staged prompts — a setting) and moves the queue. Nothing is sent twice; a prompt the new chat can’t take stays where it was.

Jump back without the reload cost

The real price of checking a tab isn't the click — it's rebuilding the mental state you dropped. So the radar carries it for you.

Answer without going there

A tab that asked you something can be answered from the card: quick replies for the yes/no cases, a reply box for anything else, and a one-tap Allow orContinue for a run parked behind a button. Your words are typed into that chat’s own composer and sent — you never load the page, so there is no context to rebuild afterwards.

One key to the next ready session

Ctrl/Cmd+Shift+. jumps straight to the next tab that finished or is waiting on you. No hunting through window strips. Ctrl/Cmd+Shift+→ cycles sessions, Ctrl/Cmd+Shift+K opens a command palette that finds any session as you type, and Ctrl/Cmd+Shift+Space opens the side panel or sidebar. Every one of them is yours to rebind.

Context overlay on landing

Jump to a session from the radar, a shortcut or a notification, and a brief overlay shows its workspace, its title and your last prompt — or your note, when there’s no prompt to show. Your brain reloads in two seconds instead of twenty.

Radar where you want it

Popup for a glance, side panel (Chrome/Edge) or sidebar (Firefox) to keep it pinned next to your work, full-page dashboard when you’re running a fleet. Safari has no side panel, so there it’s the popup and the dashboard.

Seen is seen, and focus is yours

Open a finished tab and it clears back to idle automatically, so the ready count only ever means “things you haven’t looked at.” With nothing ready, the next-ready key takes you to a run that’s still working — unless you switch on Hold focus, and then it stays put. It never closes or moves a tab.

Pins and notes per session

Pin any run to the top with one click on its card. And every card carries a Notes button that opens a real multiline box — it saves as you type, has an Undo, and the note is there on the card when you return.

One radar for your whole stack

High-volume usually means multi-provider: Claude for code, ChatGPT for reasoning, an image tool on the side. The radar treats them as one fleet.

35 surfaces, one list

ChatGPT · Claude · Gemini · AI Studio · Grok · Perplexity · Copilot · DeepSeek · Poe · Vibe · HuggingChat · Kimi · Qwen · Meta AI · Groq · OpenRouter · Pi · Arena · Gemini Notebook · Cursor · LongCat · Z.ai · MiniMax · Duck.ai · Manus · Genspark · Jules · Lovable · Bolt · v0 · Replit · Devin · Doubao · Yuanbao · T3 Chat.

Workspace lanes, auto-detected

Sessions sort themselves into Build, Write, and Image lanes from what the page is doing — your coding agents never mix with your image runs. Rename and recolor the lanes to your own words, and pick where a page that gives no signal lands.

Search and slice the fleet

Search titles, answers and your latest prompts as you type; one tap filters by state — every open question, every rate limit, everything still cooking. Opened the same conversation twice? The duplicate gets a badge, so you close the copy, not the original.

Private sessions respected

Temporary and incognito chats are flagged private — a badge, a dashed outline and a filter of their own. LLM triage never reads them, and their notifications and phone alerts say only that they need you, never what they said.

Mute what you don't run

Muted providers leave the radar and never notify. Their tabs stay open — the radar just stops caring so you can.

Live usage meters, honestly labeled

Real-time capacity per provider: one chip for the tightest limit across your fleet, a badge on every session showing its own provider’s headroom, and a drill-down with usage-vs-time pace bars, reset countdowns, and every number labeled by where it came from — reported by the provider, or estimated locally. Nothing is invented — and when one provider runs dry, the same numbers decide where the radar suggests you move the work.

Plan the work, not just the runs

Every plan, trial included, comes with pages on aitabswitch.com that live with your account — the same on your laptop, your phone and a borrowed machine.

A board that follows you

Board is a Kanban board kept with your account. The columns are yours — rename them, reorder them, add up to eight, delete what you don’t use — and cards move by drag, by keyboard, or with an on-screen bar on a touchscreen.

Work that’s stuck shows it

Every open card shows how long it has sat in its column — 12m, 5h, 4d — and each column can flag a card that has been there longer than you allow. Finished cards never nag.

Prompts filed under the repository

Repo Prompts gives each of your repositories its own board of reusable prompts — the review checklist, the release steps — with every line break kept, a Copy button on every card, and a picker that finds the repository as you type. The radar’s saved-prompts button reads the same boards.

GitHub, read-only, and only what you pick

Repos connects GitHub through a GitHub App that asks for repository metadata only — names, visibility, when they changed. It cannot read your code. You choose which repositories to share on GitHub, and can change or revoke that there at any time.

Sign in without a password to steal

Use a passkey — Touch ID, Windows Hello, your phone or a security key — or an emailed sign-in link. Any password you do set is checked against known data breaches first, and only five characters of its hash ever leave our server, so the check cannot tell which password it was.

Take it all with you

Your account page downloads what we hold about you as one JSON file — boards, prompts and how you arranged them included, secrets left out — and deleting the account erases it. What stays is what someone else needs: Stripe’s billing records, the other side of a referral, and log entries with your account taken out. The privacy policy lists each.

Private by architecture, not by promise

You're pasting proprietary code and unreleased plans into these tabs all day. The last thing you need is a middleman.

Your sessions stay in your browser

Statuses, previews, queues, notes, screenshots, settings — extension storage on your device. No telemetry, no analytics. The only routine contact with our server is the license check and an update check once a day — neither carries anything from your tabs — plus your saved prompts, fetched from your own board when you open the list. The two features that send a reply’s words anywhere stay off until you switch them on: off-desk alerts post to your ntfy endpoint, not ours, and LLM triage goes to OpenRouter — straight from your browser with your own key, or through us on the built-in route, which never stores it.

No keys to your AI accounts

It reads the pages you already have open. No vendor API keys to connect, nothing that can leak them, nothing that bills you twice for tokens you already pay for. Your AI Tab Switch account carries your license and your boards — never a key to an AI account.

Your transcripts are yours

Save any chat as Markdown, JSON, plain text, or a formatted page (formulas intact, prints to PDF) — or copy it to the clipboard with its diagrams intact. Choose what goes: just the latest answer, or the whole thread with every reply and every prompt of your own. A Save button on every radar card opens the choice in place, and another sits right on the provider page. And fork any chat into a fresh conversation on another provider — a Fork button on every radar card, per-message forking on the page — ChatGPT to Kimi in two clicks, transcript handed over. Saved files are written straight from your browser to your disk, and a fork goes only to the provider you picked — never through us.

Make it yours

Light, dark, or system theme. Recolor every state to match how your eyes triage. The numbers are yours too: a Tuning panel sets how often a tab is read, how much a card keeps, the auto-continue cap and more, with one button back to the defaults. Export your whole configuration as JSON and import it on your next machine.

Chrome, Edge, Firefox — and Safari

One extension, both engines — Chromium and Firefox, plus a Safari build via Apple’s converter. When a new version ships, the extension shows an update banner with a one-click download.

Open the hood anytime

No minified blob: the download is plain, readable code. Verify the privacy claims yourself — that’s the point of local-first.

Fair questions

Another subscription on top of $200/month?

A tenth of one. $20 a month, $197 a year, or $297 once, forever — to stop the subscriptions you already pay for from idling. Monthly and yearly start with a 7-day free trial, lifetime comes with a 7-day money-back guarantee, there are no API keys, and it never spends your tokens. See pricing.

Will it slow my tabs down?

It’s a small script that re-reads the page on a short timer — you set how often — and right after the page changes, and tells the radar when a tab’s state does. The detector makes no network calls; the only requests from a provider’s page are the usage meters asking that same provider how much of your quota is left — switch usage tracking off and they stop. No heavy frameworks injected into your tabs.

What happens to my prompts and previews?

They are kept on your machine, in your browser’s extension storage. Two features you switch on send some of it out: the LLM triage classifies a finished reply’s text (through our server, unless you use your own OpenRouter key), and off-desk alerts send part of a reply to the ntfy server you name. The privacy policy says what the extension sends, where, and what each request carries.

Detection sounds fragile. What if a provider redesigns?

Detection is heuristic by design — it reads what’s on the page, with layered fallbacks per provider, and it’s updated fast when interfaces shift. When something ever reads wrong, the tab is one click away; you’ve lost nothing.

Your models are fast. Be the operator who keeps them busy.

The next time a run finishes or stalls, you’ll know before the spinner does another lap. Installing is a few steps per browser, and every step is public — read them before you buy.