Helm
A sidebar extension for VS Code and Cursor that lets you save, organize, and instantly switch between workspaces.
Features
- One-click workspace switching — switch to any saved workspace without creating a new window.
- Multi-root workspace support — save workspaces with multiple folders and switch to them seamlessly.
- Spaces — Taking inspiration from Arc Browser, group workspaces into color-coded, emoji-labeled spaces (e.g. "Work", "Personal") and switch between them by swiping.
- Drag-and-drop reordering — rearrange workspaces within a space or move them between spaces.
- Inline editing — rename workspaces, add/remove folders, and manage spaces without leaving the sidebar.
Installation
Quick install (macOS / Linux / WSL)
curl -fsSL https://raw.githubusercontent.com/dawsonamf/helm/main/install.sh | bash
The script will auto-detect which editors you have installed and let you choose Cursor, VS Code, or Both.
From VSIX (manual)
- Download the latest
.vsix from Releases.
- In VS Code / Cursor, open the Command Palette and run Extensions: Install from VSIX…
- Select the downloaded file and restart the editor.
From source
git clone https://github.com/dawsonamf/helm.git
cd helm
npm install
npm run compile
npx @vscode/vsce package --allow-missing-repository --skip-license
Then install the generated .vsix as described above.
Usage
- Open the Explorer sidebar — you'll see a Helm panel.
- Click the + button at the top to create a new workspace.
- Select any directory, or multiple directories, to create in the new workspace entry.
- Use the + button at the bottom to create a new space.
- When you have multiple workspaces and spaces, try dragging to reorder, or dragging a workspace into a different space.
Configuration
All data is stored in your VS Code / Cursor user settings under helm.spaces. You shouldn't ever need to edit this directly. The sidebar UI handles everything automatically.
// settings.json
{
"helm.spaces": [
{
"id": "uuid-here",
"name": "Work",
"color": "#4fc3f7",
"emoji": "💼",
"workspaces": [
{ "name": "Backend API", "paths": ["/Users/you/projects/api"] },
{ "name": "Monorepo", "paths": ["/Users/you/projects/mono/frontend", "/Users/you/projects/mono/backend"] }
]
}
]
}
Development
Prerequisites
Setup
npm install
npm run compile
Watch mode
npm run watch
Build & install locally (macOS)
A Makefile is included for quick iteration during development on macOS:
make update-cursor # package, install into Cursor, and restart Cursor
make update-vscode # package, install into VS Code, and restart VS Code
Note: Extensions require a full editor restart (not just a window reload) to pick up changes.