windmill-labs/windmill · error
The item ${p} has an unrecognized type ending ${typeEnding}
Error message
The item ${p} has an unrecognized type ending ${typeEnding} What it means
pushObj's type dispatch fell through every known item type: the path's suffix is not any supported sync item kind, so no dedicated push function exists for it. Usually caused by an unsupported or misspelled file ending in the sync directory.
Source
Thrown at cli/src/types.ts:292
await pushTrigger("gcp", workspace, p, befObj, newObj, permissionedAsContext);
} else if (typeEnding === "azure_trigger") {
await pushTrigger("azure", workspace, p, befObj, newObj, permissionedAsContext);
} else if (typeEnding === "email_trigger") {
await pushTrigger("email", workspace, p, befObj, newObj, permissionedAsContext);
} else if (typeEnding === "native_trigger") {
await pushNativeTrigger(workspace, p, befObj, newObj);
} else if (typeEnding === "user") {
await pushWorkspaceUser(workspace, p, befObj, newObj);
} else if (typeEnding === "group") {
await pushGroup(workspace, p, befObj, newObj);
} else if (typeEnding === "workspace_dependencies") {
await pushWorkspaceDependencies(workspace, p, befObj, newObj);
} else if (typeEnding === "settings") {
await pushWorkspaceSettings(workspace, p, befObj, newObj);
} else if (typeEnding === "encryption_key") {
await pushWorkspaceKey(workspace, p, befObj, newObj, keyPushOpts);
} else {
throw new Error(
`The item ${p} has an unrecognized type ending ${typeEnding}`
);
}
}
export function parseFromPath(p: string, content: string): any {
return isWorkspaceDependencies(p)
? content
: p.endsWith(".yaml")
? yamlParseContent(p, content)
: p.endsWith(".json")
? JSON.parse(content)
: content;
}
export function parseFromFile(p: string): any {
if (p.endsWith(".json")) {
return JSON.parse(readTextFileSync(p));
} else if (p.endsWith(".yaml") || p.endsWith(".yml")) {View on GitHub (pinned to e474e8803c)
Solutions
- Check the file ending against supported types (script, flow, app, resource, variable, schedule, trigger kinds, user, group, settings).
- Remove or rename files that are not sync items out of the synced folder.
- Exclude unrelated files from the sync root.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cli/src/types.ts:292 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03).
Data as JSON: /api/errors/a2ee658e8d87e24d.
Report an issue: GitHub.