deepseek-ai/deepseek-harness · error
AclSandbox temp dir does not exist or is not a directory: ${
Error message
AclSandbox temp dir does not exist or is not a directory: ${tempDir} What it means
Error "AclSandbox temp dir does not exist or is not a directory: ${tempDir}" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/sandbox/sandbox-windows-acl/src/index.ts:247
const parseSid = (sid: string): NativePtr => {
const sidSlot = allocPtrSlot()
if (api.convertStringSidToSidW(sid, sidSlot) === 0) {
throwLastError(api, 'ConvertStringSidToSidW', sid)
}
const parsedSid = decodePtr(sidSlot)
if (parsedSid === null) throw new Win32Error('ConvertStringSidToSidW', api.getLastError(), sid)
return parsedSid
}
this.writeSidPtr = this.writeSid === undefined ? undefined : parseSid(this.writeSid)
this.tempWriteSidPtr = this.tempWriteSid === undefined ? undefined : parseSid(this.tempWriteSid)
const tempDir = this.mode === 'read-only' || this.tempDirOption === null ? null : this.tempDirOption
/* v8 ignore next -- constructor validation requires workspace-write to supply
an explicit temp directory or null; the other branches normalize to null. */
if (tempDir === undefined) throw new Error('AclSandbox workspace-write temp directory was not resolved')
if (tempDir !== null) {
if (!existsSync(tempDir) || !statSync(tempDir).isDirectory()) {
throw new Error(`AclSandbox temp dir does not exist or is not a directory: ${tempDir}`)
}
assertPrivateTempDisjoint(this.writableDirs, tempDir)
}
this.tempDirResolved = tempDir
// manageDacls: false — the caller (the sandbox seam's grant) already
// materialized the ACEs; this instance must neither add nor remove any.
// When this instance owns the DACLs, writableDir ACEs are STANDING (the
// per-workspace reuse cache — dispose() never revokes them, or the next
// provision would re-propagate the whole tree) and the temp ACE is
// REVOCABLE (dispose() removes it before the private directory is
// deleted; the ambient temp root is never granted).
if (this.manageDacls) {
if (this.writeSidPtr !== undefined) {
for (const path of this.writableDirs) {
grantWrite(api, path, this.writeSidPtr)
}
if (tempDir !== null && this.tempWriteSidPtr !== undefined) {View on GitHub (pinned to b150a551b8)
Solutions
- Create the temp directory before constructing the sandbox, or pass null to let the sandbox manage one.
When it happens
Trigger: Thrown at packages/sandbox/sandbox-windows-acl/src/index.ts:247 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/5020a854e1db459a.
Report an issue: GitHub.