fix: DEFAULT_SANDBOX_WORKSPACE_ROOT respects STATE_DIR

Fixes #4368

Previously DEFAULT_SANDBOX_WORKSPACE_ROOT was hardcoded to ~/.openclaw/sandboxes,
ignoring the MOLTBOT_STATE_DIR environment variable. Now it uses the same
resolvedStateDir as other sandbox paths for consistency.
This commit is contained in:
c 2026-01-30 07:49:30 +00:00
parent 28f8d00e9f
commit 48334b10c2

View File

@ -4,7 +4,8 @@ import path from "node:path";
import { CHANNEL_IDS } from "../../channels/registry.js";
import { STATE_DIR } from "../../config/config.js";
export const DEFAULT_SANDBOX_WORKSPACE_ROOT = path.join(os.homedir(), ".openclaw", "sandboxes");
const resolvedStateDir = STATE_DIR ?? path.join(os.homedir(), ".openclaw");
export const DEFAULT_SANDBOX_WORKSPACE_ROOT = path.join(resolvedStateDir, "sandboxes");
export const DEFAULT_SANDBOX_IMAGE = "openclaw-sandbox:bookworm-slim";
export const DEFAULT_SANDBOX_CONTAINER_PREFIX = "openclaw-sbx-";
@ -48,7 +49,6 @@ export const DEFAULT_SANDBOX_BROWSER_AUTOSTART_TIMEOUT_MS = 12_000;
export const SANDBOX_AGENT_WORKSPACE_MOUNT = "/agent";
const resolvedSandboxStateDir = STATE_DIR ?? path.join(os.homedir(), ".openclaw");
export const SANDBOX_STATE_DIR = path.join(resolvedSandboxStateDir, "sandbox");
export const SANDBOX_STATE_DIR = path.join(resolvedStateDir, "sandbox");
export const SANDBOX_REGISTRY_PATH = path.join(SANDBOX_STATE_DIR, "containers.json");
export const SANDBOX_BROWSER_REGISTRY_PATH = path.join(SANDBOX_STATE_DIR, "browsers.json");