Skip to content
Eric Trenkel edited this page Sep 4, 2026 · 1 revision

AI Assistant

Pro feature · BETA — see Free vs Pro. Runs on credentials you bring; nothing is hosted by the app.

The AI assistant is an agent, not just a chat box. It is given the same tool set the MCP server exposes, so when you ask "what distros do I have?" or "install Ubuntu, set my default user and put Postgres in it" it calls real tools against your WSL (or your VMs on macOS) rather than guessing. Tool calls are shown inline as it works, replies stream live, code blocks have a copy button, and a failed message can be retried.

Open it with the round AI assistant button in the bottom-right corner of the Home page; it docks beside the main content.

Choosing a provider

Settings → Bring Your Own AI Key

Bring Your Own AI Key

  • Own API key — any OpenAI-compatible endpoint: OpenAI itself (https://api.openai.com/v1), Azure OpenAI, a LiteLLM proxy, Ollama, LM Studio, and similar. Enter the base URL, key and model. Load model list fills an autocomplete from the provider's /models, and Test connection proves the credentials work before you open the chat. The key is stored locally on your device only.
  • Claude subscriptionSign in with Claude (OAuth in your browser): the chat then runs on your Claude plan through the Messages API. No API key to paste. Pick the Claude model in the same panel. Sign-in needs the app to be registered with Anthropic; if the panel says a client ID is missing, that option is not available in your build yet.

Without a configured provider the chat tells you which setting to fill in. This setting affects only the assistant and sandbox chats — the AI Workspace tools bring their own configuration.

What it can do

Everything the MCP tools can (see the tool list): list and inspect distros, run commands, read and change wsl.conf and .wslconfig, set default user/distro/version, create, import, export, move, resize, compact and package distros, copy files in and out, mount disks, manage snippets, install service recipes, and hold persistent terminal sessions. On macOS it creates and starts VMs and looks up their IPs instead.

Unregistering a distro is the one destructive tool; it refuses to run unless the agent explicitly confirms, and the assistant is told to take an export first.

Conversations persist between launches. The history button in the chat header switches between the assistant and any sandbox session; Clear the conversation starts fresh.

Task queue

Open the Tasks section at the top of the chat, add items, and press ▶ (Work through the tasks). The assistant works through them with its tools and ticks each one off as it finishes. You can keep adding tasks while it runs; Cancel ends the run and its auto-continue.

Sandboxes

AI Workspace → Sandboxes → Add sandbox distro creates a throwaway distro (wslm-sandbox-<name>) from any catalogue image — newest Ubuntu by default — with a progress bar for the download and a free-space check (about 3 GB needed).

Its chat is handed only the sandbox_* tools, which are locked to that one distro: the model can run anything inside the sandbox — commands, files, persistent shells — and can never see your Windows host or any other distro. Sandbox chats use the same docked panel as the assistant (task queue included) and their transcripts persist.

One honest caveat: the sandbox distro itself has normal outbound internet access, like any WSL distro. It isolates what the model can reach on your machine, not what the sandbox can reach on the network.

Delete a sandbox from the Home page like any distro; its chat is closed with it.

Limits and safety

  • Cancel really cancels. Cancelling a run interrupts the agent loop, so no further tool calls execute and no further requests are billed to your key.
  • Context is capped (roughly the last 30 turns, size-limited) so a long-lived chat doesn't grow every request without bound; live step telemetry shows progress during a run.
  • The agent has a hard step limit per run and a bounded number of auto-continue rounds.
  • Your requests go straight from your machine to the provider you configured. There is no quota and no relay.

Clone this wiki locally