tabcrew

Your AI chat tabs, working as one crew

tabcrew is a Claude Code skill. It writes to the DeepSeek, ChatGPT and Gemini chats you already have open in Chrome, passes the right parts between them, and does the work in your repo.

> Install the skill from https://github.com/fatih255/tabcrew

Needs the Claude in Chrome extension, signed in with your Claude Code account.

Read the docs on GitHub →Free and open source (MIT) · No API keys

Illustration: chat tabs in Chrome, wired to Claude Code

If you copy prompts from a chat into Claude Code and paste the results back, tabcrew does that loop for you.

The chats think

You keep the chats you already use. tabcrew opens its own tabs, writes the message, waits for the answer and reads it back, including long code blocks and tables.

A small helper agent for each chat picks out the part of the reply meant for Claude Code or for the other chat, in any language.

Claude Code does the work

Claude Code runs every step in your repo: edits files, runs tests, and reports the real result back to the chat, round after round.

Chat replies are treated as input for your goal, not as commands. Deleting, deploying, publishing and anything that touches secrets waits for you.

One chat, two, or three at once

Describe the job in plain words, or call /tabcrew with a workflow, the chats and a round limit.

Three workflows

Mix chats or repeat one: ChatGPT against Gemini, three DeepSeek tabs, two ChatGPT tabs plus a Gemini tab.

  • soloOne chat leads. Claude Code carries out each step and reports back.
  • debateTwo chats argue until both agree on one written conclusion, then Claude Code builds it.
  • fanoutEach chat researches its own subtopic at the same time. Claude Code checks the claims, merges and acts.
solodebatefanout step, run, reportagree, then buildresearch, then merge

Your own sessions

Works through the Claude in Chrome extension and the chats you are already logged in to. No API keys, no extra subscriptions.

Replies checked

Each reply comes back with its length and a hash. Missing code blocks, tables or a short read are flagged instead of passed on silently.

Long messages split

A message over a site's limit (ChatGPT about 10,000 characters, Gemini 32,000) goes out in ordered parts.

Site errors noticed

"Too many requests", lost connections and silent stalls are caught. The tab is reloaded and the message tried once more.

Session memory

Every run leaves dated Markdown notes in .tabcrew/, so a later session can pick up where this one stopped.

Knows when to stop

A round limit of 5, 10 or 20, or "until done" with a check that pauses the run when it stops making progress.

Why let the chats work together

No more copy and paste

The loop between a chat and your terminal runs by itself, and the chat sees real test output instead of your summary of it.

A second opinion built in

In a debate one chat checks the other. In fanout Claude Code checks each claim before acting.

Use what you already have

The chat accounts you already use stay useful, and Claude Code spends its effort on the repo work.

A record you can read

Goals, decisions, what changed and the next step are written down in plain files you can commit or ignore.

your-project/.tabcrew
.tabcrew/
├── INDEX.md        one line per session
├── sessions/
│   └── 2026-11-14-csv-export.md
│       goal · chats · decisions
│       what changed · next step
└── chats/
    └── deepseek-2026-11-14.md
        the chat's own summary
The session memory folder tabcrew writes to your project (example names)

From the test runs

Each run was a fresh Claude Code session in an empty folder, driving real chat tabs, and ended with Claude Code writing code and running its tests.

soloDeepSeek, ChatGPT or Gemini
A todo CLI, slugify(), a word counter, an INI-to-JSON converter, and a review of a 24.5k-character file.

Result: all tests pass

debateEvery pair, and a chat against itself
Retry with backoff, an LRU cache, a duration parser, a rate limiter, config loading.

Result: both chats agreed on one conclusion, all tests pass

fanoutTwo or three chats, mixed
Unicode edge cases, a password checker, SemVer, slugify() for five scripts.

Result: wrong claims caught and corrected, all tests pass

Questions

Which chats does it support?

DeepSeek, ChatGPT and Gemini. Claude.ai, Grok, Perplexity and others are not supported yet; adapters are welcome.

Does it need API keys?

No. It drives the chat websites in your own Chrome through the Claude in Chrome extension, using the accounts you are logged in to.

Will it type into my open tabs?

No. It works only in tabs it opened itself. They stay open when it finishes, so you can read the whole conversation.

What does it store in my browser?

A copy of its own page code, about 10 KB, in each chat site's localStorage under keys starting with __tc_src_. No chat content.

What if a chat is logged out?

It asks you to log in. It never types passwords, and messages to the chats never include .env values, keys or tokens.

Is automating a chat site allowed?

Driving a website's interface with automation may be limited by that site's terms. Check the terms of the services you use.

Put your chat tabs to work

Tell Claude Code to install it, log in to a chat site, and describe the job.

> Install the skill from https://github.com/fatih255/tabcrew

Then try: “Use DeepSeek to plan a CSV export feature for this repo and build it step by step.”