deepseek-ai/deepseek-harness · error
AclSandbox writable dir does not exist or is not a directory
Error message
AclSandbox writable dir does not exist or is not a directory: ${absolute} What it means
Error "AclSandbox writable dir does not exist or is not a directory: ${absolute}" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/sandbox/sandbox-windows-acl/src/index.ts:186
readonly mode: 'read-only' | 'workspace-write'
private readonly tempDirOption: string | null | undefined
private readonly manageDacls: boolean
private tempDirResolved: string | null | undefined
private api: Win32Bindings | undefined
private token: NativePtr | undefined
private writeSidPtr: NativePtr | undefined
private tempWriteSidPtr: NativePtr | undefined
/** The well-known/logon SID allocations init() makes; freed by dispose() alongside the write SIDs. */
private sidAllocations: NativePtr[] = []
private grantedPaths: Array<{ path: string; sidPtr: NativePtr }> = []
constructor(options: AclSandboxOptions) {
this.mode = options.mode
this.manageDacls = options.manageDacls ?? true
this.writableDirs = options.writableDirs.map((directory) => {
const absolute = resolve(directory)
if (!existsSync(absolute) || !statSync(absolute).isDirectory()) {
throw new Error(`AclSandbox writable dir does not exist or is not a directory: ${absolute}`)
}
return absolute
})
this.tempDirOption = options.tempDir
this.writeSid = options.writeSid
this.tempWriteSid = options.tempWriteSid
if (this.mode === 'workspace-write' && this.writeSid === undefined) {
throw new Error('AclSandbox workspace-write requires a write SID — derive it from the workspace via workspaceWriteSid()')
}
if (this.mode === 'workspace-write' && this.tempDirOption === undefined) {
throw new Error('AclSandbox workspace-write requires an explicit private temp directory or null')
}
if (this.mode === 'read-only' && this.tempDirOption !== undefined && this.tempDirOption !== null) {
throw new Error('AclSandbox read-only does not accept a temp directory')
}
if (this.mode === 'read-only' && (this.writeSid !== undefined || this.tempWriteSid !== undefined)) {
throw new Error('AclSandbox read-only does not accept write SIDs')
}View on GitHub (pinned to b150a551b8)
Solutions
- Create the writable directory before constructing AclSandbox, or pass an existing directory path.
- Verify the path is not a file or symlink to a non-directory.
When it happens
Trigger: Thrown at packages/sandbox/sandbox-windows-acl/src/index.ts:186 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/bdd31200f43580e2.
Report an issue: GitHub.