Claude Code, multiplied.
A native tab manager for Claude Code. Profiles, packs, fuzzy search, workflows, Telegram bridge, AI permission policies. All on your machine.
built by engineers · for engineers
Reusable session templates with input injection.
Define a Claude Code session once. Prompt template, model, allowed tools, working directory, system prompt, default policy. Then spawn it forever.
Templates use {{variables}} auto-detected from the prompt. The launcher generates a form (text, select, multi-select) and routes inputs into the spawned session.
- · per-profile model override + allowed-tools whitelist
- · fixed, prompted, or input-sourced cwd routing
- · skills sync · auto-execute toggle · default policy
Fuzzy switch any tab or command. ⌘K.
One palette. Tabs by name or directory, commands by label or shortcut. Dismiss it and focus snaps back to the terminal.
Prefix > to switch from tab-search to the keybinding registry. Every action in the app is reachable from the keyboard.
- · extensible command registry · live tab badges
- · match name OR working directory
- · no mouse required, ever
Your sessions stay on your disk. Forever.
Every conversation auto-archives to a local SQLite database at ~/.claude-tabs/archive.db (WAL mode). No cloud, no signup, no telemetry. Resume or fork past sessions offline.
Profiles, packs, system-prompts, and Telegram pairing live as plain files. Version-control them, sync them, or burn them.
Spawn a swarm of profiles in parallel.
A pack is a named bundle of profiles. Run a pack and ClaudeTabs spawns each profile as its own tab. Input fields fan out across the sessions for cartesian-product orchestration.
Stop shell-scripting your AI. $ pack run ship-it and walk away.
Separate the orchestrator from the implementer.
You are the orchestrator. You define what needs to happen and the criteria for each step. The agent is the implementer. It works one step at a time, in a clean session, with only the context that step needs.
A typical pipeline: implement → open PR with criteria → /compact → unbiased review → address review items. Each step gets a fresh, focused context. Not a 200KB blob of everything that came before.
Context is the bottleneck. ClaudeTabs hands the agent only what the current step needs.
Spawn sessions from your phone.
Pair your machine once. Send /run from Telegram, pick a profile, fill its inputs from chat. ClaudeTabs spawns the session on your laptop and sends the live remote-control link back.
Drive the session from your phone. Read output, send input, accept policies. Laptop stays closed.
Natural-language permission policies.
Write a policy per session in plain English: allow reads and tests, deny git push, ask for installs. An LLM evaluator reads each tool call against the policy and auto-accepts, denies, or asks.
No more Y/N prompts every 30 seconds. No more typing --dangerously-skip-permissions and praying.
Built by an engineer who lives in Claude Code.
ClaudeTabs is built by MjMoshiri in the open. No VC. No telemetry. No growth team. A Rust backend, a React frontend, and a steady stream of commits.
Q:Does ClaudeTabs send anything to my server, your server, or any server?+
Q:Do I need a ClaudeTabs account?+
Q:How does the auto-accept policy decide?+
Q:Will it run on Windows or Linux?+
Q:Is it open source?+
Q:How do updates work?+
Stop juggling Claude tabs in a stock terminal.
Use the manager engineers want.