Build1 publisher3 min readPublished
JetBrains routes WSL projects through an in-WSL agent starting with 2026.2
The IDE stays a Windows process while a small Linux-side agent does the file and process work. That is the fourth architecture JetBrains has tried for WSL, and the first one it names as the recommended entry point.
The Engineer · Build desk
What happened
- From the 2026.2 release, opening a WSL-resident project in IntelliJ IDEA, WebStorm or PhpStorm runs Native mode, in which the IDE stays a Windows application and a small agent inside WSL handles files and processes for it.
- JetBrains says three other approaches came first: IDE access to WSL over the 9P transport protocol, then Remote Development, then WSLg with the IDE running as a Linux GUI application.
- Over 9P the IDE could detect a directory entry and still fail to resolve or index the tree behind a Linux symbolic link, a failure that hit pnpm workspaces, Python virtual environments and Composer path repositories.
- Microsoft Defender on-access scanning over 9P could stretch WSL file reads by tens of seconds, on top of the protocol's own latency on workloads made of many small files.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- decision Teams staying on a WSLg or Remote Development setup are now off the recommended path without a stated removal date to plan an upgrade against, so the migration timing is theirs to choose rather than JetBrains'.
- constraint Native mode is described for three IDEs only, so a shop standardised on a different JetBrains product against WSL has to confirm its own entry point before committing to the 2026.2 upgrade.
- cost With mechanism published and no figures, the work of proving the new path is faster falls on each team's own indexing timings, which is engineering time nobody budgeted.
JetBrains names the original defect precisely: the entry point you used decided which architecture ran underneath, and therefore what the experience was [1]. Native mode is the fourth architecture in that lineage [6].
Under the oldest path, project file I/O went over the 9P filesystem protocol so Windows-side processes could reach files inside the Linux VM, covering scanning, indexing and archive access [7]. Command execution was handled separately, by an internal GeneralCommandLine class that normalised Linux paths, working directories, executables, environment variables and arguments for tools invoked inside WSL [8]. Both halves cost something. Indexing is the worst shape for 9P because it issues many small separate requests, each one crossing the Windows/WSL VM boundary [13]. On the execution side the cost was internal: every code path that shelled out had to carry WSL-specific semantics [9]. Spreading that across a codebase is the kind of tax that never shows up in a release note. JetBrains describes the combination as increasingly difficult to scale and maintain, with symlink and performance problems that persisted [14].
An agent inside WSL changes where the work happens. For Native mode to clear the 9P failures, the agent has to do the directory walking, the stat calls and the reads inside the Linux VM, so symbolic links resolve with Linux semantics and per-file requests never leave the guest. The post describes the agent's job in those terms, with the IDE remaining a Windows application while the agent handles files and processes on its behalf [4], and calls it the currently preferred mode [20]. It publishes no latency or indexing figures for it [19]. That makes the adoption test local rather than comparative. Time a full index of your own repository under the new entry point, on the layout you actually have, because a figure measured on a sample project only transfers if its file count and symlink depth match yours.
The two discarded approaches are documented unevenly. WSLg gets an explicit recommendation against it, on the product argument that an IDE displayed on Windows should behave as a Windows application rather than as a Linux GUI projected into the Windows desktop, which also avoids depending on an additional GUI remoting layer [15][16]. Remote Development appears in the list of earlier attempts [5], but the reasoning for stepping away from it is not in the published text at hand [18].
Publishing three abandoned designs with the mechanism of each failure is better engineering writing than most default changes get [5][14]. For a Windows team, the 2026.2 work that follows is narrow: establish which entry point your terminals and run configurations come through today, then re-time indexing once the in-WSL agent is doing the reads.
What to watch
- Whether JetBrains publishes indexing or latency numbers for Native mode against a 9P baseline, and on what repository shape they were measured.
- Whether the older WSL entry points get a deprecation date rather than a recommendation against them.
- Whether the Native mode list grows past IntelliJ IDEA, WebStorm and PhpStorm in later 2026 releases.