microsoft / microsoft/vscode

Windows taskbar Jump List offers to pin `.code-workspace` entries as folders instead of workspace files

Open
#328,958 0 comments 1 reaction 2 assignees Claimed by @dmitrivMS View on GitHub
windows workbench-os-integration
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

Does this issue occur when all extensions are disabled?: NA

## Environment

- VS Code Version: 1.131.0 (latest)
- OS: Windows 11 25H2, up to date

## Summary

When a `.code-workspace` file is opened via **File → Open Workspace from File…**, it is correctly tracked and labeled as a workspace in VS Code's own **File → Open Recent** menu (e.g. "MyProject (Workspace)", shown at the very top of the list, above plain folders). However, when right-clicking the VS Code icon pinned to the Windows taskbar, the jump list's "Recent Folders & Workspaces" entry for that same item only offers to pin it as a **folder**, not as the workspace file. The resulting pinned icon opens the folder, not the `.code-workspace` file, and is visually indistinguishable from a folder pin (no workspace icon).

This is not caused by the Windows "Show recommended files in Start, recent files in File Explorer, and items in Jump Lists" setting (Settings → Personalization → Start) — that setting is enabled. Nor is it caused by the workspace entry being stale or missing from history — it is the single most recently opened item in `File → Open Recent`, correctly labeled `(Workspace)`.

This suggests the taskbar jump list is built from a different / separate code path than the in-app "Open Recent" menu, and that path is misclassifying `.code-workspace` entries as plain folders (likely a bug in how `IJumpListItem`/`app.setJumpList()` entries are constructed for multi-root workspace history items on Windows).

## Steps to Reproduce

1. On Windows 11, pin `Code.exe` to the taskbar.
2. Create or use an existing `.code-workspace` file, e.g. `C:\Projects\MyProject\MyProject.code-workspace`.
3. Open it explicitly via **File → Open Workspace from File…** (not "Open Folder…").
4. Confirm in **File → Open Recent** that it now appears at the top of the list, labeled ` (Workspace)`.
5. Right-click the VS Code taskbar icon to open its jump list.
6. Look at the corresponding entry under "Recent Folders & Workspaces".

## Expected Behavior

The jump list entry should represent the `.code-workspace` file itself (icon + pin action opens the workspace file, e.g. `code.exe --file-uri `), matching what's shown in `File → Open Recent`.

## Actual Behavior

The jump list entry represents the containing folder instead (`code.exe --folder-uri `). Pinning it from the jump list produces a folder pin, not a workspace pin — even though the workspace file is the actual most-recently-opened item and is correctly labeled elsewhere in the UI.

Note: **some previously-pinned `.code-workspace` files from older VS Code versions remain correctly pinned** (with the workspace icon) on the same machine/taskbar, suggesting this is a regression affecting newly generated jump list entries rather than a fundamental incompatibility.

## Additional Notes

- Confirmed the Windows OS-level setting controlling recent items in Jump Lists (Settings → Personalization → Start → "Show recommended files in Start, recent files in File Explorer, and items in Jump Lists") is enabled.
- Confirmed via `File → Open Recent` that the workspace file is tracked correctly and is the most recent entry.
- Re-opening the `.code-workspace` file immediately before checking the jump list does not change the outcome.
- Related but not identical existing issues (none describe this exact discrepancy between Open Recent and the jump list):
- https://github.com/microsoft/vscode/issues/180743
- https://github.com/Microsoft/vscode/issues/63850
- https://github.com/microsoft/vscode/issues/69365
- This bug report has been examined by a human, but I've used AI to enhance description and for investigation ;-)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.