Use case

Run Claude Code on Windows with PowerShell and WSL side by side

Many Windows projects end up needing both worlds: PowerShell for the Windows toolchain, and WSL for Linux tooling. SplitNest runs real PowerShell and WSL shells in resizable panes of the same workspace, and shows agent state on both.

SplitNest with three workspaces, split panes, a Claude Code agent waiting for permission and a Codex agent working

Set up one workspace, two shells

  1. Choose Open folder… (or Ctrl+Shift+O) and pick your project folder. A PowerShell terminal starts there. PowerShell 7 is used automatically when installed; otherwise Windows PowerShell 5.1.
  2. Split the pane left/right or top/bottom, then use the arrow next to New terminal to choose a WSL distribution for the new tab.
  3. Rename the tabs (for example Windows and Linux) with F2. The shell stays visible in smaller text on the tab.

WSL is optional and SplitNest never installs or configures it. If it is missing, install it by following Microsoft's WSL documentation and then use Settings → Refresh shell list.

Where a WSL pane starts

A WSL pane starts in the Linux path that wslpath reports for the workspace folder, for example /mnt/c/.... If the folder cannot be mapped (a network share, or a drive that is not mounted inside the distribution), the pane explains why and offers an explicit Start in home directory instead button. It never silently starts somewhere else.

Run Claude Code in either shell

Start Claude Code in a tab the way you normally would. SplitNest answers the status protocol's feature query that Claude Code waits for, so Claude Code reports its own state (Working, Needs you, Done) and the tab shows its logo. No Claude Code settings or hooks are changed.

There is one difference between the two shells, because Windows cannot see Linux processes:

  • PowerShell tabs also get process detection, which finds the agent even if it does not report.
  • WSL tabs rely on Claude Code's own reports (or its exact title). Claude Code's first-run questions are not reported, so they show as idle.

After a restart

Layouts and folders come back with nothing running. A terminal where Claude Code was running offers Resume Claude Code. In a PowerShell tab it types claude --resume <id> for the exact conversation. In a WSL tab SplitNest knows only that Claude Code ran there, so it starts the shell in the workspace folder and opens Claude Code's own list of earlier conversations.

Good to know

  • The displayed directory is where the shell started; SplitNest does not track cd.
  • WSL output is slower than PowerShell's: about 1.15 s instead of 0.48 s for 16 MB of text in the packaged app, as measured in the project's tests.
  • Closing a WSL pane ends only that pane's wsl.exe session. SplitNest never runs wsl --shutdown.

Try it on Windows 11. Free and open source (MIT).