{"record":{"id":"8cf063c2f27affa6","repo":"zeroclaw-labs/zeroclaw","slug":"user-zeroclaw-exists-but-has-unexpected-uid","errorCode":null,"errorMessage":"User 'zeroclaw' exists but has unexpected UID {} (expected system UID < 1000).\nRecreate with: sudo {} && sudo {}","messagePattern":"User 'zeroclaw' exists but has unexpected UID (.+?) \\(expected system UID < 1000\\)\\.\nRecreate with: sudo (.+?) && sudo (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-runtime/src/service/mod.rs","lineNumber":1440,"sourceCode":"            \"deluser zeroclaw && delgroup zeroclaw\",\n            \"addgroup -S zeroclaw && adduser -S -s /sbin/nologin -H -D -G zeroclaw zeroclaw\",\n        )\n    } else {\n        (\"userdel zeroclaw\", \"useradd -r -s /sbin/nologin zeroclaw\")\n    };\n\n    match output {\n        Ok(output) if output.status.success() => {\n            let passwd_entry = String::from_utf8_lossy(&output.stdout);\n            let parts: Vec<&str> = passwd_entry.split(':').collect();\n            if parts.len() >= 7 {\n                let uid = parts[2];\n                let gid = parts[3];\n                let home = parts[5];\n                let shell = parts[6];\n\n                if uid.parse::<u32>().unwrap_or(999) >= 1000 {\n                    bail!(\n                        \"User 'zeroclaw' exists but has unexpected UID {} (expected system UID < 1000).\\n\\\n                         Recreate with: sudo {} && sudo {}\",\n                        uid,\n                        del_cmd,\n                        add_cmd\n                    );\n                }\n\n                if !shell.contains(\"nologin\") && !shell.contains(\"false\") {\n                    bail!(\n                        \"User 'zeroclaw' exists but has unexpected shell '{}'.\\n\\\n                         Expected nologin/false for security. Fix with: sudo {} && sudo {}\",\n                        shell,\n                        del_cmd,\n                        add_cmd\n                    );\n                }\n","sourceCodeStart":1422,"sourceCodeEnd":1458,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-runtime/src/service/mod.rs#L1422-L1458","documentation":"Error \"User 'zeroclaw' exists but has unexpected UID {} (expected system UID < 1000).\nRecreate with: sudo {} && sudo {}\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-runtime/src/service/mod.rs:1440 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Recreate the zeroclaw user with a system UID (<1000) using the printed sudo commands."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}