Project Color
Project Color is a VS Code/Cursor extension by Logoi Development Ltd. that sets project-scoped status bar and title bar colors.
It accepts saved aliases, CSS color names, hex, rgb(), rgba(), hsl(), and hsla() values. It calculates readable black or white foreground text using WCAG contrast math and applies that foreground to both bars.
Commands
Project Color: Set Project Color
Project Color: Clear Project Color
Run commands from the Command Palette:
Cmd+P -> >Project Color: Set Project Color
You can also click the Project Color status bar button to open the same color prompt.
VS Code and Cursor do not pass arbitrary trailing text from the Command Palette into extension commands, so the command prompts for the color. The command still accepts a parameter when invoked from a keybinding or another extension.
Examples
Prompt input examples:
golden
#d4af37
rgb(212 175 55)
rgba(212, 175, 55, 0.8)
hsl(46 65% 52%)
The command writes these project color tokens:
{
"workbench.colorCustomizations": {
"statusBar.background": "#d4af37",
"statusBar.foreground": "#000000",
"titleBar.activeBackground": "#d4af37",
"titleBar.activeForeground": "#000000"
}
}
Parameterized keybinding example:
{
"key": "cmd+alt+g",
"command": "project-color.setProjectColor",
"args": "golden"
}
Object argument example:
{
"key": "cmd+alt+s",
"command": "project-color.setProjectColor",
"args": {
"color": "staging"
}
}
Local-only Git Behavior
By default, Project Color writes workspace settings and keeps untracked .vscode/settings.json files local by adding them to .git/info/exclude. That lets the color apply to the current project without changing repository files.
If .vscode/settings.json is already tracked by git, Project Color leaves the changes visible and clears any old skip-worktree flag. Git can fail during branch switches, pulls, or resets when a tracked settings file is hidden with skip-worktree.
Disable this behavior with:
{
"projectColor.localOnly": false
}
If you need git to show .vscode/settings.json changes again:
git update-index --no-skip-worktree -- .vscode/settings.json
One-shot Install
Project Color can be installed without the VS Code Marketplace by running its package CLI. The CLI packages a local VSIX and installs it with the editor command.
From npm, after publishing:
npx project-color
From a git URL:
npx github:logoi-development/project-color
With pnpm:
pnpm dlx project-color
The default editor command is cursor. To install into VS Code instead:
npx project-color -- --editor code
To keep the generated VSIX for inspection:
npx project-color -- --keep-vsix
To remove old local installs and install a fresh build:
npx project-color-refresh
Development
Install dependencies:
pnpm install
Check syntax:
pnpm check
Package a VSIX:
pnpm package
Install into Cursor:
pnpm install:cursor
Refresh the Cursor install while testing changes:
pnpm refresh:cursor
This removes logoi.project-color plus older local rename IDs, then packages and installs the current build.
Publish to the VS Code Marketplace:
pnpm publish:marketplace
Publishing requires a Marketplace publisher named logoi and a valid VSCE_PAT.