Stop inherit list item permission
SP.Group group = web.SiteGroups.GetByName(siteName + " Owners"); foreach (User user in Users) { group.Users.AddUser(user); } group.Update(); context.Load(groupOwner, g => g.Id); context.ExecuteQuery(); GID = groupOwner.Id.ToString(); var web = item.ParentList.ParentWeb; var context = web.Context; item.BreakRoleInheritance(true, false); item.Update(); context.Load(item, i => i.RoleAssignments); context.ExecuteQuery(); item.RoleAssignments.Where(c => c.PrincipalId.ToString() != GID).ToList().ForEach(ra => ra.DeleteObject());//empty permission var collRoleDefinitionBinding = new RoleDefinitionBindingCollection(context); var contributerDefinition = web.RoleDefinitions.GetByType(RoleType.Contributor); collRoleDefinitionBinding.Add(contributerDefinition); List<FieldUserValue> reviewers = new List<FieldUserValue>(); try { var user = web.EnsureUser(loginName); item.RoleAssignments.Add(user, collRoleDefinitionBinding); //Add conrribure permission for user FieldUserValue userVal = FieldUserValue.FromUser(loginName); reviewers.Add(userVal); } catch (Exception err) { Error("Add Reviwer Error:", err); } if (reviewers.Count > 0) item["Reviewer"] = reviewers; item.Update(); context.ExecuteQuery();