Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>TabFold: Tab GroupsNew to Visual Studio Code? Get it now.
TabFold: Tab Groups

TabFold: Tab Groups

Preview

Sanjoy K Paul

|
1 install
| (0) | Free
Group, name, color and collapse editor tabs like Chrome — on the tab bar and in the sidebar. No network, no telemetry, no runtime dependencies.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TabFold

Browser-style tab groups for VS Code. Group, name, color and collapse your editor tabs, the way tab groups work in Chrome. No network, no telemetry and no runtime dependencies, so you can trust it with work code.

CI License: MIT

Why TabFold

  • Fold away what you're not working on. Collapse a group and its tabs close. Expand it and they come back, in order.
  • See your context at a glance. Each group gets a header tab (▾ API) and its own color on the tab bar.
  • Private by design. TabFold never touches the network, never reads your files, and ships no third-party code. Details below.

Getting started

  1. Right-click any editor tab → Add Tab to New Group.
  2. Type a name, pick a color with the arrow keys, and press Enter.
  3. Click the group's header tab (▾ Name) to collapse it. Click it again to expand.

Using it

Want to… Do this
Make a group Right-click a tab → Add Tab to New Group. Or press Cmd/Ctrl+K G and choose a new group
Add a tab to a group Right-click it → Add Tab to Group…, drag it between two tabs of the group, or drop it on the group in the sidebar
Take a tab out Drag it out of the group's block, or right-click → Remove Tab from Group
Collapse / expand Click the header tab, use the fold button in the sidebar, or press Cmd/Ctrl+K Alt+G
Rename or recolor Right-click the group in the sidebar → Edit Group (Name & Color)…
Jump between groups Click the group chip in the status bar, or press Cmd/Ctrl+K Shift+G
Keep a group for later Sidebar → right-click → Save Group. Restore it from Saved Groups, in any workspace
Undo Ungroup, Close Group and Ungroup All show an Undo button
Move the panel to the right Drag the Tab Groups icon to the Secondary Side Bar

How it works

VS Code doesn't let extensions draw custom chips on the tab bar, so TabFold builds groups from features VS Code does allow:

  • Header tab: a small tab titled ▾ Backend sits in front of each group. Collapsed, it shows ▸ Backend (5).
  • Tabs stay together: a group's tabs are kept next to each other, header first, in every editor split.
  • One split per group: drag a group's header to another split and its tabs follow. Drag all of its tabs and the header follows. Drag a single tab to another split and it leaves the group, like dragging a tab to another browser window.
  • Color and badge: grouped tab titles use the group's color and get a badge (the group's first letter, a dot, or nothing).
  • Collapse closes tabs and remembers them. If a tab has unsaved changes, you're asked to save first. Nothing is ever lost.

Tab colors and badges need workbench.editor.decorations.colors and workbench.editor.decorations.badges, which are on by default.

Settings

Setting Default
tabGroups.placement top+side top+side, top (tab bar only), or side (sidebar only, no tab-bar changes)
tabGroups.headerTabs true Show header tabs
tabGroups.colorTabs true Color grouped tab titles
tabGroups.badgeStyle letter letter, dot, or none
tabGroups.joinByPosition true Dragging a tab into or out of a group's block changes which group it's in

Security & privacy

  • No network access and no telemetry. CI checks the source for network and process APIs on every commit.
  • No runtime dependencies. The published package contains only the bundled extension, its icons, this README, the changelog and the license, and CI verifies that too.
  • Your files are never read. TabFold stores only file paths, group names, colors and collapsed state, in VS Code's own extension storage on your machine.
  • Locked-down header tabs. They're webviews with scripts and command links disabled, under a default-src 'none' content security policy.
  • Works in Restricted Mode (untrusted workspaces), because it never runs workspace code.
  • Open source (MIT), so you can audit everything above.

Known limits

  • Terminals and other extensions' webview tabs can't be grouped, because VS Code doesn't expose them as files that can be reopened.
  • Grouping works in up to 8 editor splits. VS Code only offers focus commands for the first 8.
  • VS Code doesn't report tab clicks to extensions, so TabFold infers them:
    • A header that becomes active right after a tab opens or closes is ignored.
    • The default next/previous-editor shortcuts skip header tabs. Custom keybindings for those commands don't.
    • Picking a header from the Ctrl+Tab list or with Ctrl+1…9 counts as a click.

Feedback & contributing

Bug reports and ideas are welcome in GitHub Issues.

npm install
npm test                   # unit tests, no VS Code needed
npm run test:integration   # drives a real VS Code window (set VSCODE_PATH outside macOS)
npm run package            # typecheck, tests, security check, then build the VSIX

Press F5 in VS Code to try your changes in an Extension Development Host. Contributor notes are in CLAUDE.md.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft