Thanks for your reply
C + S + T didn't work.
The 'session files" were checked too long after the incident and therefore no longer listed.
I still do not understand why this has occurred several times even though Edge is set to open tabs from previous session. Any ideas to help me to avoid reoccurrence?
Hi, this happened to me recently as well. Luckily I managed to find the log of tabs that open on browser startup. It turns out that when the browser starts, it doesn't make a request to the web pages of the restored tabs, it just leaves them there without loading (until you click on them). When the browser loads them, it throws a message to the log, and the page is logged, along with the date from when it tried to "load" the page.
This log saved my life and thousands of hours!!!, it is located at:
*C:\Users%USERNAME%\AppData\Local\Microsoft\Edge\User Data\EDGE_PROFILE_NAME*\Workspaces\Logs
%USERNAME% is your windows user name, ex. "MikuLover", it will be automatically pasted with the magic of variables, just leave it as %USERNAME%. Also, you can get there by typing %LOCALAPPDATA% an then going to *\Microsoft\Edge\User Data\EDGE_PROFILE_NAME*\Workspaces\Logs
*EDGE_PROFILE_NAME* is your edge browser profile name, for me it was "Profile 1", so you simply change *EDGE_PROFILE_NAME* to "Profile 1" (only if it's your profile name). Theres a lot of folders under **\User Data**, so its a bit hard to guess which folder is for your edge profile..
in the end, your log location should look a bit like:
C:\Users%USERNAME%\AppData\Local\Microsoft\Edge\User Data\Profile 1\Workspaces\Logs
or a short one:
%LOCALAPPDATA%\Microsoft\Edge\User Data\Profile 1\Workspaces\Logs
You can find your pages logged, with the date and so on, here is an example of a tab log:
{"logTime": "0627/233905", {"lineNo":0,"logLevel":2,"message":"Validation Log - URL = https: // www . learn . microsoft . com/en-us/nuget/api/registration-base-url-resource#registration-leaf-object-in-a-page - Message = Navigation not sent because it was restored from a previous session.","source":"Fluid Local Collaborator","timestamp":"2025-06-27T23:39:05.205Z"}}
If you want to filter your URLs from the log, and get non-duplicates follow the next instructions:
Search for "Windows PowerShell" in the windows search bar (WIN+S) and open it, you don't need to run it as administrator.

paste the following script on the console:
# change here for your full location...
$your_x_location = "$($env:USERPROFILE)\AppData\Local\Microsoft\Edge\User Data\Profile 1\Workspaces\logs"
# alternative locations:
# $your_x_location = "$($env:USERPROFILE)\AppData\Local\Microsoft\Edge\User Data\Profile 1\Sessions"
# $your_x_location = "$($env:USERPROFILE)\AppData\Local\Microsoft\Edge\User Data\Profile 1\Sync Data\LevelDB"
# remove '#' to execute code.
# Try '\Sessions\' folder for better luck, and finally '\Sync Data\LevelDB\' (although I wouldn't be so sure it would be useful)
$LINKS = Get-ChildItem -path $your_x_location -recurse | Where-Object Attributes -EQ "Archive" | ForEach-Object {
($_ | Get-Content | Select-string 'https*://([\w\-._~:/?#[\]@!$&''()%*+,;=]*)').Matches.Value
}
# write your URLs to console (ignore duplicates)
$LINKS | Sort-Object -unique
voilá

Select your URLs and press Ctrl+C to copy them.
Or simply paste the next script, and put ALL LINKS inside your clipboard, then you can paste them with Ctrl+V:
# normal copy
$LINKS | Select-Object -unique | Set-Clipboard
#
# Alternative Copy
#
# sort and copy
# $LINKS | Sort-Object -unique | Set-Clipboard
# copy all links (with duplicates)
# $LINKS | Set-Clipboard
#
There's also a DataBase (LevelDB Database) which contains all the details about your Group Tabs (tabs inside it, tab titles, urls, etc.) under the following location:
C:\Users%USERNAME%\AppData\Local\Microsoft\Edge\User Data\Profile 1\Sync Data\LevelDB
There you can find your Group Tabs, along with its Tabs, only if you have not manually closed/deleted them.
If you close a Tab from any Group Tab, then your DB will be immediately updated. You can retrieve all your Group Tabs from this DB, ONLY if you didn't close them manually. So, if your Tabs/Group Tabs simply disappeared, they are still inside it.
You will need to use a Database Manager to open it.
Note: with LevelDB, the whole folder, named 'LevelDB', IS the Database.
I have written the following script to read your DB and retrieve every URL inside it:
(since this is a DB, and not plain text, your URLs might have weird symbols contained on them)
# change here for your full location...
$your_level_db_location = "$($env:USERPROFILE)\AppData\Local\Microsoft\Edge\User Data\Profile 1\Sync Data\LevelDB"
$LINKS = Get-ChildItem -path $your_level_db_location "*.ldb" | ForEach-Object {
($_ | Get-Content | Select-string 'https*://([\w\-._~:/?#[\]@!$&''()%*+,;=]+)(?=\")').Matches.Value
}
# write your URLs to console (ignore duplicates)
$LINKS | Select-Object -unique
As an alternative, if you don't succeed in getting the amount of URLs that you were expecting, you can try the following script:
# change here for your full location...
$your_level_db_location = "$($env:USERPROFILE)\AppData\Local\Microsoft\Edge\User Data\Profile 1\Sync Data\LevelDB"
$LINKS = Get-ChildItem -path $your_level_db_location "*.ldb" | ForEach-Object {
($_ | Get-Content | Select-string 'https*://([\w\-._~:/?#[\]@!$&''()%*+,;=]+)').Matches.Value
}
# write your URLs to console (ignore duplicates)
$LINKS | Select-Object -unique
You can also try to read the .log under LevelDB, and get missed urls.
Here i will leave a script to list every URL from the .log file inside the folder **\LevelDB**:
# change here for your full location...
$your_level_db_location = "$($env:USERPROFILE)\AppData\Local\Microsoft\Edge\User Data\Profile 1\Sync Data\LevelDB"
$LINKS = Get-ChildItem -path $your_level_db_location "*.log" | ForEach-Object {
($_ | Get-Content | Select-string 'https*://([\w\-._~:/?#[\]@!$&''()%*+,;=]+)(?=\*)').Matches.Value
}
# write your URLs to console (ignore duplicates)
$LINKS | Select-Object -unique
#
# alternative method (less filtering)
# remove initials '#' to run...
# $LINKS = Get-ChildItem -path $your_level_db_location "*.log" | ForEach-Object {
# ($_ | Get-Content | Select-string 'https*://([\w\-._~:/?#[\]@!$&''()%*+,;=]+)').Matches.Value
# }
# write your URLs to console (ignore duplicates)
# $LINKS | Select-Object -unique
#
(also, just found out this .log will be updated along your Group Tabs. So, if your group tabs are missing or you closed them, you can't retrieve them from this .log file. Give it a try anyway, maybe this .log file still has your Group Tabs, you never know).
Hope it helps. Good Luck!