Skip to content
| Marketplace
Sign in
Visual Studio Code>Themes>WorktintNew to Visual Studio Code? Get it now.
Worktint

Worktint

Jan Cassio

|
1 install
| (0) | Free
Auto-colors VS Code windows per git worktree. Dormant until a repo has more than one worktree.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Worktint - Git worktrees, color-coded

VS Code Marketplace Installs Rating Open VSX CI License: MIT

Auto-colors your VS Codium / VS Code window per git worktree, so parallel windows of the same repository are instantly distinguishable.

Screenshots

Dark Light
Worktint on a dark theme Worktint on a light theme

Multiple git worktrees of the same repository, instantly distinguishable by color.

Running several worktrees of one repo — say, a few AI agents each on their own branch — leaves you with a row of identical-looking editor windows. Worktint gives each worktree a stable, theme-appropriate color and a labeled status-bar indicator, so you always know which window is which.

Install

VS Code Marketplace

Search for "Worktint" in the Extensions view, or install from the Marketplace listing.

Open VSX (VS Codium and other Open VSX-based editors)

Install from the Open VSX listing.

Command line

code --install-extension jancassio.worktint
# or, for VS Codium:
codium --install-extension jancassio.worktint

Activation: dormant until you actually have worktrees

Worktint does nothing until a repository has more than one worktree (<git-common-dir>/worktrees/ is non-empty). In an ordinary single-checkout repo it stays fully dormant — no status-bar item, no writes, no prompts. Add a second worktree (git worktree add ../feature) and it wakes up; drop back to a single worktree and it cleans up after itself.

Two layers

  1. Status-bar indicator (always on when active) — a colored dot plus the branch name. Zero files written, zero git footprint. Toggle with worktint.statusBarIndicator.enabled.
  2. Chrome tint (optional, on by default) — tints the title bar, activity bar, status bar, and the active editor-tab accent by writing workbench.colorCustomizations to the worktree's .vscode/settings.json.

Zero git footprint

  • The worktree's .vscode/settings.json is hidden from git via .git/info/exclude — Worktint never touches your tracked .gitignore.
  • If .vscode/settings.json is already tracked in your repo, Worktint won't dirty a committed file: it warns once and falls back to the status-bar indicator only.
  • It never clobbers your colors. Only Worktint's own keys are merged into workbench.colorCustomizations, and the prior value of each is recorded so a reset restores your settings exactly.

Colors

Each worktree's color is seeded from its root path, so it's stable and deterministic across restarts — the same worktree always gets the same color, and different worktrees of a repo get different ones (with collision probing). The branch name is display-only and never affects the color. Palettes are theme-aware (curated light and dark sets, 8 colors each).

Settings

All settings live under the worktint.* namespace and default to true.

Setting Default Description
worktint.chrome.enabled true Tint window chrome for worktrees.
worktint.chrome.titleBar true Tint the title bar (needs window.titleBarStyle: custom).
worktint.chrome.activityBar true Tint the activity bar.
worktint.chrome.statusBar true Tint the status bar.
worktint.chrome.editorTabs true Tint the active editor-tab accent.
worktint.statusBarIndicator.enabled true Show the colored status-bar worktree indicator.

Commands

Command Description
Worktint: Pick color for this worktree Override this worktree's color from the palette.
Worktint: Reset this worktree Restore this worktree's colors and remove the exclude line.
Worktint: Reset all Revert every worktree Worktint has colored in this repo.
Worktint: Toggle chrome coloring Turn the chrome tint on or off.

Requirements

  • VS Codium or VS Code ^1.90.0.
  • Title-bar tinting requires window.titleBarStyle: custom. If it isn't set, Worktint offers to set it once and simply skips the title bar until you do — the other chrome elements still tint.

Development

Built with Bun. Integration tests run in a real VS Code via @vscode/test-electron.

bun install
bun run build            # bundle to dist/extension.js
bun run test:unit        # framework-free core + adapter unit tests
bun run test:integration # in-editor integration tests (downloads VS Code)
bun run lint             # Biome check (lint + format)

Press F5 (Run Extension) to launch an Extension Development Host.

Contributing

Contributions are welcome. See CONTRIBUTING.md for how to set up the project, run the tests, and submit changes.

Scope

This is an MVP. A smart-from-theme palette, non-worktree repo coloring, multi-root workspaces, and cross-machine sync are out of scope.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft