paperclipai/paperclip · error · Error
filesystemExtraPaths
Error message
filesystemExtraPaths[${index}] must be an absolute path or { path, access } object. What it means
parseLocalProcessSandboxExtraPaths got a filesystemExtraPaths entry that is neither a string nor a {path, access} object; the entry shape is unrecognized.
Solutions
- Use an absolute path string or a { path, access } object for filesystemExtraPaths[${index}].
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/adapter-utils/src/local-process-sandbox.ts:500 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/3bb3a7702a9e7b0d.
Report an issue: GitHub.
Appendix: source
Thrown at packages/adapter-utils/src/local-process-sandbox.ts:500
const proxyUrl = `http://127.0.0.1:${SANDBOX_PROXY_PORT}`;
env.HTTP_PROXY = proxyUrl;
env.HTTPS_PROXY = proxyUrl;
env.http_proxy = proxyUrl;
env.https_proxy = proxyUrl;
}
args.push("--chdir", cwd, "--", executable, ...executableArgs);
return { command: bwrapCommand, args, cwd: "/", env, cleanup };
}
export function parseLocalProcessSandboxExtraPaths(value: unknown): LocalProcessSandboxPath[] {
if (!Array.isArray(value)) return [];
return value.map((entry, index) => {
if (typeof entry === "string") {
return { path: normalizeAbsolutePath(entry, `filesystemExtraPaths[${index}]`), access: "ro" };
}
if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
throw new Error(`filesystemExtraPaths[${index}] must be an absolute path or { path, access } object.`);
}
const raw = entry as Record<string, unknown>;
const access = raw.access === "rw" ? "rw" : raw.access === "ro" || raw.access == null ? "ro" : null;
if (!access || typeof raw.path !== "string") {
throw new Error(`filesystemExtraPaths[${index}] must use access "ro" or "rw" and an absolute path.`);
}
return { path: normalizeAbsolutePath(raw.path, `filesystemExtraPaths[${index}].path`), access };
});
}
View on GitHub (pinned to 120ae5428f)