earendil-works/pi · error · Error
Managed install marker is missing or invalid: ${markerPath}
Error message
Managed install marker is missing or invalid: ${markerPath} What it means
Error "Managed install marker is missing or invalid: ${markerPath}" thrown in earendil-works/pi.
Source
Thrown at packages/coding-agent/src/package-manager-cli.ts:75
const managedRoot = resolve(configuredRoot);
const releasesDir = canonicalizePath(join(managedRoot, "releases"));
// The launcher environment is inherited by child processes. Do not classify a
// source checkout or another Pi installation launched from managed Pi as managed.
if (getCwdRelativePath(canonicalizePath(getPackageDir()), releasesDir) === undefined) return undefined;
const markerPath = join(managedRoot, MANAGED_INSTALL_MARKER);
try {
const marker = JSON.parse(readFileSync(markerPath, "utf8")) as {
kind?: unknown;
layout?: unknown;
schemaVersion?: unknown;
};
if (marker.kind !== "pi-managed-install" || marker.schemaVersion !== 1 || marker.layout !== "releases-v1") {
throw new Error();
}
} catch {
throw new Error(`Managed install marker is missing or invalid: ${markerPath}`);
}
return managedRoot;
}
async function fetchInstallerArtifact(url: string, label: string): Promise<string> {
const response = await fetch(url, { headers: { "User-Agent": getPiUserAgent(VERSION) } });
if (!response.ok) {
throw new Error(`Could not download managed installer ${label} from ${url}: HTTP ${response.status}`);
}
return await response.text();
}
async function runManagedNpmCi(stageDir: string): Promise<void> {
const args = [
"ci",
"--ignore-scripts",
"--min-release-age=0",View on GitHub (pinned to 4af9d21d3b)
When it happens
Trigger: Thrown at packages/coding-agent/src/package-manager-cli.ts:75 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24).
Data as JSON: /api/errors/ad139a5154f47973.
Report an issue: GitHub.