Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

TypeScript 7 VS Code extension: a workspace "typescript" 7.x package is not detected, only "@typescript/native-preview", which is no longer published

Open Beginner friendly
#64,565 0 comments 1 reaction 1 assignee View on GitHub

Maintainers usually reply within 1 day

@jakebailey is already working on this.

Since Oct 6, 2026.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
84/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript, vscode

Research direction

Start in packages/vscode-typescript/src/session.ts, especially findWorkspaceNativePreviewPackages, and inspect how promptUseWorkspaceVersion and promptSelectVersion consume its results. Compare the existing @typescript/native-preview detection with the typescript package and pathHasTsserverJs. Done means a TypeScript 7+ workspace package is detected, the workspace prompt and version picker offer it, and the extension selects that compiler.

Written by the indexing model from the issue text.

Description

Needs Investigation

The TypeScript 7 extension finds a workspace's own TypeScript 7 only in node_modules/@typescript/native-preview. That package was last published on 2026-07-07 (7.0.0-dev.20260707.2). TypeScript 7 now ships as typescript: [email protected] came out the next day, and the 7.1 nightlies ship as typescript@next (7.1.0-dev.20260930.4 today). So a project that installs TypeScript 7 the current way runs the extension's bundled compiler instead of its own. Nothing tells the user, and the only fix is to write a tsdk setting by hand.

Versions: TypeScript 7 extension 1.0.1, VS Code 1.140.0, macOS.

Repro
  1. In an empty folder, run npm install -D typescript@next and add main.ts with export const n: number = 1;.
  2. Open the folder in VS Code with the TypeScript 7 extension installed, and open main.ts. No setting is needed: on its first start, the extension turns TypeScript 7 on by itself (it writes "js/ts.experimental.useTsgo": true into the user settings). If TypeScript 7 was turned off later, run TypeScript: Enable TypeScript 7 Language Server.

Expected: the extension offers the workspace's TypeScript, as it does for @typescript/native-preview: the "This workspace has TypeScript 7 installed" prompt, and Use Workspace Version in TypeScript: Select TypeScript Version.

Actual: no prompt, and the server runs the extension's own compiler (7.0.2), not node_modules/typescript (7.1):

…/extensions/typescriptteam.native-preview-1.0.1-darwin-x64/lib/tsc --lsp --stdio

With "js/ts.tsdk.path": "node_modules/typescript", the same project runs the workspace compiler. So only the detection is missing: resolveTsdkPathToExe already accepts a typescript package (bin tsc).

Where

In packages/vscode-typescript/src/session.ts (main at 43521c80), findWorkspaceNativePreviewPackages checks only node_modules/@typescript/native-preview. Both promptUseWorkspaceVersion and the version picker (promptSelectVersion) use it.

Suggestion

Also detect node_modules/typescript when it is TypeScript 7 or newer. pathHasTsserverJs already tells a TypeScript 5 or 6 package apart from a TypeScript 7 one.

Why it matters
  • The editor and the project's tsc (CLI, CI) then run the same compiler.
  • Features that need a 7.1 nightly, such as content mappers with --runExternalCode, now need either the TypeScript 7 Nightly extension or a hand-written tsdk setting. The Nightly extension applies to every workspace and changes daily. The tsdk setting is easy to miss, because the extension never mentions it.
Dominant language
Go
Stars
111k
Forks
16.4k
Avg merge
1d 11h
Merged PRs (30d)
149

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/TypeScript

All issues in microsoft/TypeScript

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.