From a067565db577dfa57d4f80426b4014e07f7f1b12 Mon Sep 17 00:00:00 2001 From: George Pickett Date: Thu, 12 Feb 2026 19:37:41 -0800 Subject: [PATCH] fix: pass sandbox docker env into containers (#15138) (thanks @stevebot-alive) --- CHANGELOG.md | 1 + src/agents/sandbox-create-args.test.ts | 1 + src/agents/sandbox/docker.ts | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7982c1421e..9be651fc30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Docs: https://docs.openclaw.ai ### Fixes +- Sandbox: pass configured `sandbox.docker.env` variables to sandbox containers at `docker create` time. (#15138) Thanks @stevebot-alive. - Onboarding/CLI: restore terminal state without resuming paused `stdin`, so onboarding exits cleanly after choosing Web UI and the installer returns instead of appearing stuck. - macOS Voice Wake: fix a crash in trigger trimming for CJK/Unicode transcripts by matching and slicing on original-string ranges instead of transformed-string indices. (#11052) Thanks @Flash-LHR. - Heartbeat: prevent scheduler silent-death races during runner reloads, preserve retry cooldown backoff under wake bursts, and prioritize user/action wake causes over interval/retry reasons when coalescing. (#15108) Thanks @joeykrug. diff --git a/src/agents/sandbox-create-args.test.ts b/src/agents/sandbox-create-args.test.ts index 0bc8de62fc..5200572c86 100644 --- a/src/agents/sandbox-create-args.test.ts +++ b/src/agents/sandbox-create-args.test.ts @@ -78,6 +78,7 @@ describe("buildSandboxCreateArgs", () => { "1.5", ]), ); + expect(args).toEqual(expect.arrayContaining(["--env", "LANG=C.UTF-8"])); const ulimitValues: string[] = []; for (let i = 0; i < args.length; i += 1) { diff --git a/src/agents/sandbox/docker.ts b/src/agents/sandbox/docker.ts index e66372a44f..9ddec1978c 100644 --- a/src/agents/sandbox/docker.ts +++ b/src/agents/sandbox/docker.ts @@ -156,7 +156,9 @@ export function buildSandboxCreateArgs(params: { args.push("--user", params.cfg.user); } for (const [key, value] of Object.entries(params.cfg.env ?? {})) { - if (!key.trim()) continue; + if (!key.trim()) { + continue; + } args.push("--env", key + "=" + value); } for (const cap of params.cfg.capDrop) {