#OpenClawBot in Sandbox in Windows 11 Enterprise?
1 messages · Page 1 of 1 (latest)
Yes technically you can run OpenClaw inside Windows 11 Sandbox, but it’s usually not the best experience.
1) Can you install/run it in Windows Sandbox?
- Possible, as long as you can install the prerequisites inside the sandbox (Node.js + git + pnpm, then OpenClaw).
- Big downside: Windows Sandbox is ephemeral. When you close it, you lose:
~/.openclawconfig/session state- installed packages
- any local files you didn’t explicitly export
- So unless you set up mapped folders + a startup script in the
.wsb, you’ll be re-installing/re-configuring a lot.
OpenClaw’s recommended Windows path is WSL2 (Ubuntu) rather than native Windows/Sandbox:
https://docs.openclaw.ai/platforms/windows
2) What “tool use” works inside the sandbox?
Rule of thumb: tools run where the Gateway runs.
If the Gateway runs inside the Sandbox, then:
execruns inside the Sandbox OS (so it can only touch sandbox files/processes)- the managed
browserprofile (openclaw) can run inside the Sandbox (again isolated) - anything network-based (web fetch/search, calling APIs, Discord/Telegram/etc messaging) works as long as the sandbox has outbound internet
What it won’t do (by default):
- control your host machine’s apps/files (unless you explicitly share/mount folders into the sandbox)
- control your host Chrome via extension relay unless you set that up inside the sandbox too (the extension relay attaches to the browser it’s installed in)
Tool docs (for reference):
- Exec tool: https://docs.openclaw.ai/tools/exec
- Browser tool: https://docs.openclaw.ai/tools/browser
3) Do you need Docker Desktop too?
No. OpenClaw does not require Docker. Docker is optional and only useful if you want containerization.
- Windows Sandbox ≠Docker; it doesn’t make Docker “redundant”, it’s just a different isolation mechanism.
- In practice, installing/running Docker inside Windows Sandbox is usually overkill (and may run into virtualization constraints).
If you tell me your goal (security isolation vs “try it once” vs long-running assistant), I can suggest the cleanest setup (Sandbox vs WSL2 vs a small Linux VM/VPS).
I want to test out OCB on my hardware 1st to see if it runs and then run it as local based only assistant, security & privacy is extremely important to me. Also I only work with windows no linux
If security/privacy is the priority and you’re “Windows-only”, the practical answer today is:
Best path on Windows (recommended): WSL2
OpenClaw on Windows is currently recommended via WSL2 (Ubuntu) — the Gateway + CLI run in Linux inside Windows, and you use it from your normal Windows browser/UI. You’re not “switching to Linux as your desktop”; you’re just running the backend in the environment OpenClaw is built/tested for.
Docs: https://docs.openclaw.ai/platforms/windows
(Microsoft WSL install is literally wsl --install.)
Why this matters for privacy/testing:
- No Docker Desktop required. (Docker is optional; OpenClaw does not depend on it.)
- WSL2 is persistent (unlike Windows Sandbox), so you don’t lose config/state every time.
- Tooling compatibility (browser automation, Linux binaries, etc.) is dramatically better.
Windows Sandbox specifically
Sandbox is fine for a one-time “does it start” smoke test, but it’s a rough fit for a “local assistant” because it’s ephemeral and makes you reinstall/re-onboard constantly. It also doesn’t automatically improve privacy vs the thing that matters most (the model provider).
The big privacy reality check: “local assistant” depends on your model
OpenClaw itself can run locally, but if you use a cloud model provider, then your prompts/tools context will be sent to that provider. If you want “local only” in the strict sense, you’ll need to point OpenClaw at a local LLM server running on your machine (OpenAI-compatible endpoint/proxy), and avoid tools that inherently talk to the internet.
Quick security checklist (works great with WSL2)
- Keep the Gateway bound to loopback (default) and use token auth:
https://docs.openclaw.ai/gateway/configuration (seegateway.bind+gateway.auth) - Use exec approvals / allowlists so it can’t run arbitrary commands without your OK:
https://docs.openclaw.ai/tools/exec-approvals - For a deeper dive, OpenClaw’s security docs/threat model live here: https://trust.openclaw.ai
If you tell me what you mean by “local based only” (A) “runs on my PC but can use cloud LLMs” vs (B) “no cloud at all, local inference only”), I can suggest the cleanest Windows-only setup for that.
Right now I'm I running LM Studio with local only LLMs
I plan to use LM Studio as backend to run LLms
as a OCB brain
Nice — LM Studio is actually one of the recommended ways to run OpenClaw with local-only inference.
OpenClaw just needs an OpenAI-compatible /v1 endpoint, which LM Studio provides.
1) Verify LM Studio server is reachable
In LM Studio: start the local server (default is usually http://127.0.0.1:1234), then check:
http://127.0.0.1:1234/v1/models
2) Point OpenClaw at LM Studio (config example)
Docs: https://docs.openclaw.ai/gateway/local-models
Example ~/.openclaw/openclaw.json snippet:
{
agents: {
defaults: {
model: { primary: "lmstudio/<your-model-id>" },
},
},
models: {
mode: "merge",
providers: {
lmstudio: {
baseUrl: "http://127.0.0.1:1234/v1",
apiKey: "lmstudio",
api: "openai-responses",
models: [{ id: "<your-model-id>", name: "LM Studio Local" }],
},
},
},
}
Replace <your-model-id> with whatever LM Studio reports (from /v1/models).
3) Windows-only note (important)
OpenClaw on Windows is recommended via WSL2 (still “Windows”, but the Gateway runs in a Linux environment for compatibility):
https://docs.openclaw.ai/platforms/windows
If you run OpenClaw in WSL2 but LM Studio is on Windows, and 127.0.0.1:1234 isn’t reachable from WSL, the fix is usually: make LM Studio listen on LAN (0.0.0.0) and point OpenClaw at the Windows host IP (then re-test with curl from inside WSL).
4) Privacy reality check
If you use OpenClaw through Discord, your messages live on Discord. For maximum privacy, use the local Control UI / local entry points and keep the gateway bound to loopback.
If you tell me where you plan to run the OpenClaw Gateway (native Windows vs WSL2 vs Windows Sandbox), I can tell you the exact baseUrl that will work for LM Studio in that setup.
Perfect — LM Studio is a supported way to run OpenClaw with local-only inference.
Docs (this is the exact guide): https://docs.openclaw.ai/gateway/local-models
What you need (high level)
- LM Studio server running an OpenAI-compatible endpoint (usually
http://127.0.0.1:1234/v1) - OpenClaw configured with a custom provider (named
lmstudio) pointing at that base URL - Set your default model to
lmstudio/<model-id-from-lm-studio>
Minimal config (example)
In ~/.openclaw/openclaw.json (JSON5), add something like:
{
agents: {
defaults: {
model: { primary: "lmstudio/<your-model-id>" },
models: {
"lmstudio/<your-model-id>": { alias: "LM Studio Local" },
},
},
},
models: {
mode: "merge",
providers: {
lmstudio: {
baseUrl: "http://127.0.0.1:1234/v1",
apiKey: "lmstudio",
api: "openai-responses", // if your LM Studio server supports it
models: [{ id: "<your-model-id>", name: "LM Studio Local" }],
},
Yep — LM Studio can be the “OCB brain”.
Think of it like this:
- OpenClaw (OCB) = the orchestrator (memory, tools, routing, safety knobs, sessions)
- LM Studio = the model server (the LLM that generates the decisions/text)
So your “brain” runs locally, and OpenClaw just talks to it over http://.../v1.
What to do
- In LM Studio: enable the local server and confirm this works:
http://127.0.0.1:1234/v1/models
- In OpenClaw: configure a custom provider pointing at LM Studio (docs):
https://docs.openclaw.ai/gateway/local-models
Core pieces in config are:
models.providers.lmstudio.baseUrl: "http://127.0.0.1:1234/v1"models.providers.lmstudio.api: "openai-responses"(or"openai-completions"if needed)- set your default model to
lmstudio/<model-id-from-/v1/models>
Two important privacy/tool notes
- Even with a local “brain”, tools can still hit the internet (browser/web/search) depending on what you enable.
- If you’re chatting with it via Discord, your prompts are still on Discord. For maximum privacy, use the local Control UI and keep the gateway bound to loopback + token auth.
One key question (so the URL is correct)
Where will the OpenClaw Gateway run?
- WSL2 (recommended on Windows), or
- native Windows, or
- Windows Sandbox
That determines whether 127.0.0.1:1234 works directly or whether you’ll need to point OpenClaw at the Windows-host IP / change LM Studio to listen on 0.0.0.0.
},
},
}
How to get <your-model-id>: open http://127.0.0.1:1234/v1/models and copy the id LM Studio shows.
If LM Studio doesn’t support Responses API
Switch this line to:
api: "openai-completions"
(Those are the supported API modes in config.)
Windows-only reality: where OpenClaw runs
OpenClaw on Windows is recommended via WSL2 (Gateway runs in WSL2; you still use Windows normally):
https://docs.openclaw.ai/platforms/windows
If you run OpenClaw in WSL2 but LM Studio is on Windows, first try baseUrl: "http://localhost:1234/v1" (often works with WSL localhost forwarding). If that doesn’t work, you’ll need to have LM Studio listen on your LAN interface and point OpenClaw at your Windows host IP.
If you tell me which you’re planning:
- OpenClaw Gateway in WSL2, or
- OpenClaw Gateway native Windows, or
- OpenClaw Gateway in Windows Sandbox
…I’ll give you the correct baseUrl for that setup and the safest way to keep it private (not exposed beyond your machine).
I'll running OCb on Windows native using web browser ui
If you’re running both OpenClaw + LM Studio on the same Windows machine, that’s the simplest setup: OpenClaw can talk to LM Studio over 127.0.0.1 and your UI stays local in your browser.
1) Install + open the local web UI (Windows native)
Docs: https://docs.openclaw.ai/start/getting-started
PowerShell:
iwr -useb https://openclaw.ai/install.ps1 | iex
openclaw onboard --install-daemon
openclaw dashboard
That should open the Control UI (local browser UI) on your machine.
2) Point OpenClaw at LM Studio (local “brain”)
- In LM Studio: start the server and confirm this endpoint works:
http://127.0.0.1:1234/v1/models
- Edit this file on Windows:
%USERPROFILE%\.openclaw\openclaw.json(it’s JSON5)
Add a provider like:
{
agents: {
defaults: {
model: { primary: "lmstudio/<model-id>" },
models: { "lmstudio/<model-id>": { alias: "Local (LM Studio)" } },
},
},
models: {
mode: "merge",
providers: {
lmstudio: {
baseUrl: "http://127.0.0.1:1234/v1",
apiKey: "lmstudio",
api: "openai-responses",
models: [{ id: "<model-id>", name: "LM Studio Local" }],
},
},
},
}
Replace <model-id> with the exact id shown by /v1/models.
If you get errors with openai-responses, change it to:
api: "openai-completions"
3) Privacy/security knobs you’ll care about
- Use the Control UI (local) rather than Discord if you want maximum privacy.
- Keep the Gateway bound to localhost (default is loopback) and require token auth (default). Config reference: https://docs.openclaw.ai/gateway/configuration-reference
- Don’t expose LM Studio’s port beyond your machine unless you truly need to.
If you paste what http://127.0.0.1:1234/v1/models returns (just the model id list), I can tell you exactly what to put for <model-id>.
All my AI app including LMS are installed on external HDD connected to laptop with USB.
Can I also install OCB on that USB HDD in OCB folder?
Yes — you can keep OpenClawBot’s files on an external USB HDD, but there are a couple caveats.
What’s realistic / recommended
Install OpenClaw normally (so the openclaw command works), then move the state/config/workspace onto the USB drive.
That gives you the benefit you want (all data + sessions + workspace on the external disk) without fighting Windows install/path quirks.
1) Put OpenClaw’s state/config on the USB drive
OpenClaw defaults to %USERPROFILE%\.openclaw. You can relocate it with env vars:
OPENCLAW_STATE_DIR(moves the whole~/.openclawstate dir)OPENCLAW_CONFIG_PATH(movesopenclaw.json)
Docs: https://docs.openclaw.ai/help/environment
Example (PowerShell, assuming your USB drive is X:):
setx OPENCLAW_STATE_DIR "X:\OCB\.openclaw"
setx OPENCLAW_CONFIG_PATH "X:\OCB\.openclaw\openclaw.json"
Then open a new terminal (setx applies to future shells) and restart the gateway.
2) Put the agent workspace on the USB drive too
In your config (openclaw.json), set:
{
agents: {
defaults: {
workspace: "X:\\OCB\\workspace"
}
}
}
(Workspace config reference: https://docs.openclaw.ai/gateway/configuration-reference — see agents.defaults.workspace.)
Caveats (important)
- Drive letter must stay stable. If Windows sometimes mounts it as
E:/F:/etc, OpenClaw won’t find its config/state. (You can assign a fixed letter in Disk Management.) - If the USB drive is unplugged (or sleeps), the Gateway/Control UI will error or fail to start.
- Storing data on an external drive is good for separation/portability, but it doesn’t replace encryption. If this is privacy-critical, consider BitLocker To Go on the external drive.
If you tell me whether you’re running OpenClaw as a background service (openclaw onboard --install-daemon) or just starting it manually, I can tell you the cleanest way to make those env vars apply in your setup.
1st manually 2nd later in background
Yep — you can do it, and your “manual first, background later” plan is the right way to test it.
The key idea: keep the OpenClaw program/CLI installed normally, but put its state/config + workspace on the external drive.
A) Manual test (no background service yet)
-
Plug in the drive and make sure it has a stable drive letter (e.g.
X:). -
Create folders on the drive (example):
mkdir X:\OCB\.openclaw
mkdir X:\OCB\workspace
- In the same PowerShell window, set env vars just for this run:
$env:OPENCLAW_STATE_DIR="X:\OCB\.openclaw"
$env:OPENCLAW_CONFIG_PATH="X:\OCB\.openclaw\openclaw.json"
openclaw gateway --allow-unconfigured
- In another PowerShell window (same env vars again), open the web UI:
$env:OPENCLAW_STATE_DIR="X:\OCB\.openclaw"
$env:OPENCLAW_CONFIG_PATH="X:\OCB\.openclaw\openclaw.json"
openclaw dashboard
Env var docs: https://docs.openclaw.ai/help/environment
Dashboard docs: https://docs.openclaw.ai/start/getting-started
B) Later: run in the background (service)
Once the manual run works, make those env vars persistent for your user account:
setx OPENCLAW_STATE_DIR "X:\OCB\.openclaw"
setx OPENCLAW_CONFIG_PATH "X:\OCB\.openclaw\openclaw.json"
Then open a new terminal and install/rewrite the gateway service so it picks up the new paths:
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep
(Windows uses Scheduled Tasks under the hood for the service; reinstalling with --force is the clean way after changing paths.)
C) Put the workspace on the external drive too (recommended)
In X:\OCB\.openclaw\openclaw.json set:
{
agents: { defaults: { workspace: "X:\\OCB\\workspace" } }
}
Config reference: https://docs.openclaw.ai/gateway/configuration-reference (see agents.defaults.workspace)
Gotchas with external drives
- If the drive disconnects/sleeps, the gateway may error (so avoid USB sleep / selective suspend if possible).
- Make sure the drive is NTFS (generally fewer weird permission/path issues).
If you tell me your external drive letter (and whether you already ran openclaw onboard), I can tailor the exact commands so you don’t have to redo anything.
Hdd is partitioned so AI apps are on partition M: while Models are on partition N: LMS knows where models are located and can access them directly from N: partion
That setup is totally fine.
- LM Studio reading model files from N: is purely LM Studio’s concern.
- OpenClaw never needs direct access to the raw model files — it just calls LM Studio over HTTP (e.g.
http://127.0.0.1:1234/v1).
So you can keep:
- Apps (LM Studio + OpenClaw state/workspace) on M:
- Models on N:
…and it will work as long as LM Studio is running and its server endpoint is reachable.
Recommended layout
Put OpenClaw’s data on M: for portability:
M:\OCB\.openclaw\(config/state)M:\OCB\workspace\(agent workspace, attachments, etc.)
Then (PowerShell):
setx OPENCLAW_STATE_DIR "M:\OCB\.openclaw"
setx OPENCLAW_CONFIG_PATH "M:\OCB\.openclaw\openclaw.json"
In openclaw.json, set workspace:
{
agents: { defaults: { workspace: "M:\\OCB\\workspace" } },
models: {
providers: {
lmstudio: { baseUrl: "http://127.0.0.1:1234/v1" }
}
}
}
Two “gotchas” to watch
- Make sure M: and N: drive letters stay stable (Disk Management can pin them).
- For privacy: keep LM Studio bound to 127.0.0.1 (not
0.0.0.0) unless you explicitly want LAN access.
If you paste what LM Studio returns from http://127.0.0.1:1234/v1/models (just the id fields), I can tell you the exact lmstudio/<model-id> string to put in OpenClaw.
Can I use laptop if OCB is running web browser automations?
Or does it require full control of my mouse and screen to function properly?
Can it work in background while I'm using other apps at same time?
Yes — you can keep using your laptop while OpenClaw is doing browser automations.
Does it need “full control” of your mouse/screen?
No. OpenClaw’s browser tool drives Chromium via DevTools automation (CDP), not by moving your physical mouse or taking over your whole desktop.
Can it run in the background while you use other apps?
Yes. Two common modes:
- OpenClaw-managed browser profile (
openclaw) (recommended)
- It launches a separate browser profile/window that the agent controls.
- You can keep using your normal browser/apps at the same time.
- You can even run it headless (no visible window) via config.
Docs: https://docs.openclaw.ai/tools/browser
- Chrome extension relay profile (
chrome)
- It controls the specific tab you “attach” in your regular browser.
- It still doesn’t steal your mouse, but if you interact with that same tab you’ll “fight” the automation (you’ll see it click/type).
- Easy workaround: attach a dedicated tab/window and don’t use it while the agent runs.
Docs: https://docs.openclaw.ai/tools/chrome-extension
Practical notes
- Browser automation uses CPU/RAM (sometimes a lot on heavy sites), so things may feel slower depending on your hardware.
- Some sites throw CAPTCHAs / MFA — you may need to manually solve those once, then automation continues.
If you tell me whether you want the automation visible (so you can watch) or headless/background, I can point you at the exact browser.defaultProfile / browser.headless settings to use.
visible and does it work with Edge browser
Visible: yes — by default the managed browser runs non-headless, so you’ll see it clicking/typing in its own window.
Edge: yes — OpenClaw supports Chromium-based browsers, including Microsoft Edge.
From the docs: OpenClaw can run a dedicated Chrome/Brave/Edge/Chromium profile, and when launching locally it will try Chrome → Brave → Edge → Chromium, and you can also force it via browser.executablePath.
https://docs.openclaw.ai/tools/browser
Recommended setup (visible + Edge)
- Use the managed profile
openclaw(not the extension relay), and it will open a separate controlled browser window/profile. - If you want to guarantee Edge is used, set in
openclaw.json:
{
browser: {
defaultProfile: "openclaw",
headless: false,
executablePath: "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"
}
}
(If Edge is installed elsewhere, adjust the path accordingly.)
Quick test commands
openclaw browser --browser-profile openclaw start
openclaw browser --browser-profile openclaw open https://example.com
If you tell me whether you installed Edge per-user or system-wide (and your Edge install path), I can give you the exact executablePath string.
system wide
Cool — if it’s system-wide Edge, it’s usually in one of these two locations:
C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe(most common)C:\Program Files\Microsoft\Edge\Application\msedge.exe
You can confirm with PowerShell:
$paths = @(
"${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe",
"$env:ProgramFiles\Microsoft\Edge\Application\msedge.exe"
)
$paths | % { if (Test-Path $_) { "FOUND: $_" } }
Also: you might not need executablePath at all
If Edge is installed and/or your default browser is Chromium-based, OpenClaw will usually auto-detect it. So you can start with just: