Repository navigation
**[Bug][Windows][Desktop 0.2.0-rc.2] workspace-write mode: every shell command fails with sandbox-local windows-acl temp grant materialization failed**
#9460
Replies: 3 comments
|
Note on the title: markdown emphasis was accidentally left in the title and cannot be cleaned up. GitHub does not permit an author without |
|
Thanks for the elimination work — the "ruled out" section is what makes this answerable. Two of your inferences do not hold against the source, and one datum you already have is decisive. Everything below is read from 1. There is no capability probe in this path
2. The sentence you saw is a wrapper that by construction carries neither the code nor the pathTwo sites throw it, with different wording (
Both are Yours being the temp variant is itself information: the workspace-root grant is a different message, so the standing root ACE either applied or was already cached, and the refusal is on the private per-session capability directory. 3. What that block actually does, in order (
|
|
This sentence has a plugin form now, so the next session that hits it does not have to re-derive the mechanism from the source.
npm install @argszero/cordis-plugin-sandbox-grant-advisorMount it by adding the shipped What it recognizes. Both producer sentences, verbatim — they are two halves and the plugin keeps them apart, because the difference is real:
So the layer tells you where to look, and the workspace half failing also means the temp directory was never created. What it does with the line. It does not name a cause, because the line carries none: this is an A lock root that cannot be created or opened fails the grant and its cleanup together and produces this exact sentence having attempted no ACL operation. It is also the only candidate a directory listing can settle, with no privileges: The lock file is opened with It ships no repair command, on purpose — the line names no directory, and a grant aimed at the wrong one is worse than none. Instead it hands over the probe that names the directory and then the backend's own It also names what you measured as not helping, with the reason each fails: One inference it discards, since it was made here: a visible The upstream repair is at the two |
Uh oh!
There was an error while loading. Please reload this page.
[Bug][Windows][Desktop 0.2.0-rc.2]
workspace-write模式下所有 shell 命令失败:sandbox-local windows-acl temp grant materialization failed摘要 / Summary
On Windows, every pwsh tool call in the default
workspace-write(confined) mode fails immediately with:The command is never started. The same command succeeds under
danger-full-access, on the same machine, same account, same session. So@deepseek-ai/dsh-sandbox-local's Windows ACL grant path is broken, making confined mode unusable on Windows.复现 / Steps to reproduce
workspace-writeWrite-Output "test"Control experiment:
danger-full-access→ succeeds已排除的原因 / Ruled out
This is the useful part — please don't re-investigate these.
Not a TEMP path / character-encoding issue.
System TEMP was
D:\C盘迁移\Temp(non-ASCII). I repointedTEMP/TMPto an ASCII-onlyC:\DSHTemp, restarted DSH, retested. Identical error.C:\DSHTempstayed completely empty — no DSH writes to it at all.Not a directory ACL problem.
Performed a full repair of
D:\C盘迁移\Tempand its entire subtree:Before the repair,
icacls /resetwas denied even from an elevated prompt. After it, ACLs were fully normal. Identical error either way.Not stale corrupted directories.
D:\C盘迁移\Temporiginally contained 7 randomly-named directories (4bu3sm5k,elg5xl4j, …) that returnedAccess is deniedon access. All were taken over and deleted. The directory is now clean. Identical error.Not a leftover process / missing restart.
Confirmed via Task Manager that no
DeepSeek Harness.exeremained, then cold-started DSH. Repeated several full quit-and-restart cycles. Identical error.Not insufficient OS or account permission — key control.
Under full access I manually reproduced exactly the operation the sandbox performs:
Tested both inside the session workspace and in
C:\DSHTemp. Both succeeded.The OS permits this account to do this ACL work. The defect is inside DSH's own sandbox implementation.
定位线索 / Where it looks broken
Reading the
@deepseek-ai/dsh-sandbox-localConfig schema through the Inspect API:runnerCommand[](empty)runnerFailureSignatures[](empty)probeTimeoutMs5000Inference (explicitly an inference, not verified):
probeTimeoutMs+runnerFailureSignaturesimply the sandbox runs a capability probe before use, classifying the outcome by matching output signatures. "materialization failed" may be the fallback error when the probe fails or times out — not an actual ACL failure.sandbox|runner|acl|grantacross the install directory matched only unrelated Python stdlib files. WithrunnerCommandempty there is nothing to fall back to but the built-in implementation.Suggested place to look: the grant-directory create/cleanup path in the Windows ACL implementation, and whether probe timeout / signature-mismatch failures are being reported as
materialization failed.影响 / Impact
danger-full-accesslong-term, which defeats the file sandbox entirely.环境 / Environment
Relevant plugins:
@deepseek-ai/dsh-sandbox-local,@deepseek-ai/dsh-sandbox-policy,@deepseek-ai/dsh-fs-sandbox,@deepseek-ai/dsh-pwsh-sandbox当前绕过 / Current workaround
danger-full-access. Functional, but it disables the file sandbox — not a substitute for a fix.Every conclusion above is measured; the only inference is clearly marked in the "Where it looks broken" section.
All reactions