Shaping the Scope
WslDock primarily serves my personal use case. It is not intended to be a universal tool with countless options—such solutions already exist in abundance. Instead, I’m embracing pure minimalism. My needs are clearly defined: keep the WSL instance alive and maintain SSH agent tunnels when needed.
Three States, Clear Transitions
The tool operates in exactly three states, each with a distinct purpose:
- Inactive: WSL runs unmanaged, following its default lifecycle
- Active:
wsl -d <instance> sleep infinityanchors the VM, preventing automatic shutdown - Active + SSH: VM anchored plus
ssh -A localhosttunnel for agent forwarding
The transitions between these states are deliberately simple:
- Left-click: Toggle between Inactive and Active
- Right-click menu: Toggle SSH tunnel, reboot instance, or exit
Solving One Problem Well
All too often, tools are designed too broadly from the outset to appeal to the widest possible audience. This frequently leads to the core use case becoming merely a compromise. I prefer to solve one concrete problem properly rather than address many generic problems only superficially.
This radical scope limitation is an act of technical discipline. It allows for an implementation that does without complex UI logic and instead achieves a tactile efficiency. The three-state model is elegant in its simplicity—each state has a clear meaning, and the transitions between them are intuitive and reversible.





