{"record":{"id":"881b81ea923c5817","repo":"openai/codex","slug":"invalid-project-cursor-cursor","errorCode":null,"errorMessage":"invalid project cursor: {cursor}","messagePattern":"invalid project cursor: (.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/state/src/runtime/projects.rs","lineNumber":487,"sourceCode":"    let mut parts = cursor.split('|');\n    let position_component = parts.next().ok_or_else(|| invalid_project_cursor(cursor))?;\n    let position: i64 = position_component\n        .parse()\n        .map_err(|_| invalid_project_cursor(cursor))?;\n    let id = parts.next().ok_or_else(|| invalid_project_cursor(cursor))?;\n    let uuid = Uuid::parse_str(id).map_err(|_| invalid_project_cursor(cursor))?;\n    if parts.next().is_some()\n        || position < 0\n        || position.to_string() != position_component\n        || uuid.to_string() != id\n    {\n        return Err(invalid_project_cursor(cursor));\n    }\n    Ok((position, id.to_string()))\n}\n\nfn invalid_project_cursor(cursor: &str) -> anyhow::Error {\n    anyhow::anyhow!(\"invalid project cursor: {cursor}\")\n}\n\n#[cfg(test)]\n#[path = \"projects_tests.rs\"]\nmod tests;\n","sourceCodeStart":469,"sourceCodeEnd":493,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/state/src/runtime/projects.rs#L469-L493","documentation":"Error \"invalid project cursor: {cursor}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/state/src/runtime/projects.rs:487 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}