Task Tabs
Gives each Claude Code terminal in VS Code a colour and an icon from the task it is working
on, so a panel full of sessions stops looking the same.
Open a terminal, type claude, send your first message. Claude Code names the task in the tab
title, and Task Tabs gives that tab the matching colour and icon on its own: Gym and fitness
turns red with a heart, Wallapop bargains green with a tag. Nothing to pick.
Task Tabs is an independent extension. It is not made, endorsed or supported by Anthropic.
Claude and Claude Code are Anthropic's trademarks and are named here only to say what this
extension works with.
What it does
- Automatic look. Every terminal where Claude Code runs gets the look of the category its
task title matches. When Claude renames the task, or after
/clear, the tab follows. A
colour or icon you pick yourself is never replaced.
- New Session (the sparkle button on the terminal panel, or Task Tabs: New Session).
Type a short hint such as
wallapop motherboard hunt, or force a category with a prefix:
games: tidy the README. The second row lets you pick the colour and icon yourself.
- Change Colour and Icon... and Set Category... on a tab's right-click menu in the tab
list. The pick is saved with the tab and comes back after a reload, a restart or a resume.
- Go to Session...: every open Claude Code tab, the ones waiting for you first.
- Resume Conversation...: closed conversations, resumed in a new tab with their old colour.
- "+" menu, Claude Code (Task Tabs): a blank session with the next free colour.
- A status bar item with the number of open sessions and how many wait for you.
Built-in categories
| Category |
Icon |
Colour |
| Shopping |
tag |
green |
| Games |
game |
magenta |
| PC & hardware |
tools |
yellow |
| Code |
code |
blue |
| Trips & places |
globe |
cyan |
| Home & money |
home |
red |
| Email & admin |
mail |
yellow |
| Movies & music |
play |
magenta |
| AI & agents |
beaker |
blue |
| Health & fitness |
heart |
red |
| Other (no match, or a tie) |
sparkle |
next free colour |
Matching is by keyword, in English and Spanish; word* matches a prefix. Add your own words,
such as project names, with taskTabs.extraKeywords:
"taskTabs.extraKeywords": {
"games": ["myproject"],
"travel": ["lisbon", "porto"]
}
Or replace the whole list with taskTabs.categories.
Settings
| Setting |
Default |
What it does |
taskTabs.autoStyle |
keywords |
keywords restyles from the keyword lists only. keywords+haiku also asks Claude Haiku when no keyword matches (see Privacy). off never restyles on its own. |
taskTabs.extraKeywords |
{} |
Your own words per category id. |
taskTabs.categories |
[] |
Your own categories instead of the built-in ones. |
taskTabs.askForHint |
true |
Ask for a hint in New Session. |
taskTabs.classifier |
keywords |
keywords+haiku asks Haiku once when the New Session hint matches no keyword. |
taskTabs.statusBar |
true |
Show the status bar item. |
taskTabs.historyIncludesUnmanaged |
true |
List conversations started outside Task Tabs in Resume Conversation. |
taskTabs.claudePath, taskTabs.nodePath |
empty |
Where claude.exe and node.exe are, if they are not found on their own. |
taskTabs.extraArgs |
[] |
Extra arguments for every session started by Task Tabs, for example ["--model", "opus"]. |
Requirements
- Windows. Task Tabs is built and tested on Windows 11 only. On other systems its commands
only say so.
- Claude Code, the native
claude.exe, on PATH, in ~/.local/bin, or set in
taskTabs.claudePath.
- Node.js 18 or newer for the small launcher that sessions started by Task Tabs run in.
The automatic look on a terminal where you typed
claude yourself does not need it, unless
taskTabs.autoStyle is keywords+haiku.
- VS Code 1.100 or newer, with
terminal.integrated.tabs.allowAgentCliTitle on (the default),
so the tab shows Claude Code's task title.
How the look is applied
VS Code lets an extension set a terminal's colour and icon only when it creates the terminal.
For a terminal that is already running, Task Tabs opens VS Code's own Change Color and Change
Icon pickers and presses the keys for the right row in one go, so VS Code closes them before
it draws them. The keyboard stays where it was.
Known limits:
- The colour list's closing fade can show for a few hundredths of a second. Set
workbench.reduceMotion to on to remove it.
- After you use VS Code's own right-click menu on a tab in the tab list, the pickers show
while they are driven, until you reload the window.
- In rare cases after that same menu the look is not applied at all. Developer: Reload
Window fixes it.
Privacy
Task Tabs runs on your machine and has no server and no telemetry. It reads the terminal
titles VS Code shows and, for Resume Conversation, the conversation list Claude Code keeps in
your user folder.
With keywords+haiku (off by default), a task title that no keyword matches is sent to
Claude Haiku by running your own claude command with -p --model haiku, without tools or
saved session. That goes through your own Claude Code login and counts toward your own usage,
like any prompt you type. Haiku may make up a new category for it, which is remembered on this
machine; Task Tabs: Forget Learned Categories clears those.
License
MIT