{"record":{"id":"99fb928eec21ab9c","repo":"windmill-labs/windmill","slug":"failed-to-read-wmill-yaml-e-message-pl","errorCode":null,"errorMessage":"❌ Failed to read wmill.yaml:\n   ${e.message}\n   Please check file permissions or fix the syntax.","messagePattern":"❌ Failed to read wmill\\.yaml:\n   (.+?)\n   Please check file permissions or fix the syntax\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/core/conf.ts","lineNumber":321,"sourceCode":"        e.message.includes(\"Obsolete configuration format\"))\n    ) {\n      throw e; // Re-throw the specific obsolete format error\n    }\n\n    // Since we already found the file path, this is likely a parsing or access error\n    if (e instanceof Error && e.message.includes(\"Error parsing yaml\")) {\n      const yamlError =\n        e.cause instanceof Error ? e.cause.message : String(e.cause);\n      throw new Error(\n        \"❌ YAML syntax error in wmill.yaml:\\n\" +\n          \"   \" +\n          yamlError +\n          \"\\n\" +\n          \"   Please fix the YAML syntax in wmill.yaml or delete the file to start fresh.\"\n      );\n    } else {\n      // File exists but has other issues (permissions, etc.)\n      throw new Error(\n        \"❌ Failed to read wmill.yaml:\\n\" +\n          \"   \" +\n          (e instanceof Error ? e.message : String(e)) +\n          \"\\n\" +\n          \"   Please check file permissions or fix the syntax.\"\n      );\n    }\n  }\n}\n\n// Default sync options - shared across the codebase to prevent duplication\nexport const DEFAULT_SYNC_OPTIONS: Readonly<\n  Required<\n    Pick<\n      SyncOptions,\n      | \"defaultTs\"\n      | \"includes\"\n      | \"excludes\"","sourceCodeStart":303,"sourceCodeEnd":339,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/core/conf.ts#L303-L339","documentation":"readConfigFile's fallback: wmill.yaml exists and was located, but reading/parsing it failed for a non-YAML-syntax reason (typically a permissions error), so the config is unreadable and the command aborts.","triggerScenarios":"Thrown at cli/src/core/conf.ts:321 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix file permissions on wmill.yaml (chmod so the current user can read it).","Check ownership and that the file is not a broken symlink.","Fix the syntax if the embedded message points at content rather than access."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}