While migrating existing applications from MOSS 2007 to SharePoint 2013, this issue was encountered where user IDs were updated to include claims token, but the people field in lists were still having IDs only with domain name.

So we have a custom list "Project Tasks" where we have a people field "Owner". User IDs in this field have format like "domain-name\user-id" before migration and after migration. So update values for this field to include claims token along with domain name. To achieve this, see the power shell script:

01.$web = Get-SPWeb <Provide URL of Site>
02.$list = $web.Lists["<Provide List Name>"]
04.foreach($item in $list.Items)
06.    $user = $list.GetItemById($item["ID"])["<Provide People Column Name>"]
08.    if($user)
09.    {
10.        if($user.Contains(";#"))
11.        {    
12.# Check if user is already having claims token then no update
13.            if($user.Contains("i:0"))
14.            {
15.                Write-host "User already updated" -ForegroundColor green
16.            }
17.            else
18.            {
19.                $user = $user.split("#")[1]
20.                $user = $user.split("\")[1]               
22.        #Here abc is the domain name
23.$u = "i:0#.w|abc\" + $user
25.$spUserId = Get-SPUser -Web $web -Identity $u | ForEach-Object { $_.Id }
27.$spUser = [string]$spuserId + ";#" + $u
28.$item["<Provide People Column Name>"] = $spUserId
32.Write-host $item["<Provide People Column Name>"] -ForegroundColor blue
33.            }
34.        }
35.    }

Before running above script, there is a list setting change that needs to be done which is as mentioned below:

1.) Navigate to List Settings.
2.) Click on Column Name (which is to be updated) under Columns section.
3.) Under "Additional Column Settings" change value of "Show Field" from Name to Account. Click OK.​ (If not Account already)
4.) Now execute the script.
5.) After executing script, check if claims token is added to user IDs or not.
6.) Revert back settings done in Step 3.

Hope this Helps.