{"record":{"id":"c0867a0f8e36f124","repo":"Significant-Gravitas/AutoGPT","slug":"cannot-change-the-owner-s-role-flags-directly-use","errorCode":null,"errorMessage":"Cannot change the owner's role flags directly. Use transfer-ownership.","messagePattern":"Cannot change the owner's role flags directly\\. Use transfer-ownership\\.","errorType":"http","errorClass":"ValueError","httpStatus":400,"severity":"error","filePath":"autogpt_platform/backend/backend/api/features/orgs/db.py","lineNumber":520,"sourceCode":"                \"isAdmin\": is_admin,\n                \"status\": \"ACTIVE\",\n            }\n        )\n\n    return OrgMemberResponse.from_db(member)\n\n\nasync def update_org_member(\n    org_id: str, user_id: str, is_admin: bool | None, is_billing_manager: bool | None\n) -> OrgMemberResponse:\n    \"\"\"Update a member's role flags.\"\"\"\n    member = await prisma.orgmember.find_unique(\n        where={\"orgId_userId\": {\"orgId\": org_id, \"userId\": user_id}}\n    )\n    if member is None:\n        raise NotFoundError(f\"Member {user_id} not found in org {org_id}\")\n    if member.isOwner:\n        raise ValueError(\n            \"Cannot change the owner's role flags directly. Use transfer-ownership.\"\n        )\n\n    update_data: dict = {}\n    if is_admin is not None:\n        update_data[\"isAdmin\"] = is_admin\n    if is_billing_manager is not None:\n        update_data[\"isBillingManager\"] = is_billing_manager\n\n    if update_data:\n        await prisma.orgmember.update(\n            where={\"orgId_userId\": {\"orgId\": org_id, \"userId\": user_id}},\n            data=update_data,\n        )\n\n    # Keep the default-workspace admin flag in step with the org role —\n    # add_org_member grants it at add time, so promotion/demotion via PATCH\n    # must sync it too or promoted admins stay denied on team-scoped checks.","sourceCodeStart":502,"sourceCodeEnd":538,"githubUrl":"https://github.com/Significant-Gravitas/AutoGPT/blob/9c8bb5550f446ba5d3046b78896578742495b3cf/autogpt_platform/backend/backend/api/features/orgs/db.py#L502-L538","documentation":"Error \"Cannot change the owner's role flags directly. Use transfer-ownership.\" thrown in Significant-Gravitas/AutoGPT.","triggerScenarios":"Thrown at autogpt_platform/backend/backend/api/features/orgs/db.py:520 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use the transfer-ownership flow to change the owner's role.","Have another admin adjust non-owner role flags if needed."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9c8bb5550f446ba5d3046b78896578742495b3cf","analyzedAt":"2026-08-14T17:17:21.957Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}