Microsoft 365

Recoverable Items folder full in Exchange Online: diagnose and fix

Find out why a mailbox's Recoverable Items folder hit its quota, which hold is keeping the data, and how to free space with an archive, a retention tag or a reviewed hold change.

12 min read
On this page

When the Recoverable Items folder in an Exchange Online mailbox reaches its quota, users can't delete items, retention tags stop deleting, and calendar invitations can fail. Almost always the mailbox is on some kind of hold, so nothing is purged, and either the archive isn't enabled or deleted items arrive faster than the default tag moves them to the archive. Check the quota and usage with Get-Mailbox and Get-MailboxStatistics, identify the hold from InPlaceHolds, and then free space by enabling the archive (and auto-expanding archiving if needed), shortening the Recoverable Items retention tag, and running Start-ManagedFolderAssistant.

Who this is for and what you will have at the end

This guide is for Exchange Online and Microsoft Purview administrators dealing with a mailbox that suddenly can't delete mail, a user who can't accept meeting invitations, or a quota warning on the Recoverable Items folder. It covers user and shared mailboxes in Exchange Online.

By the end you will have:

  • The mailbox's real quota, the space used in the primary and archive Recoverable Items folders, and which subfolders hold it.
  • The hold or retention setting that's preventing purges.
  • A fix that frees space without breaking a legal or compliance obligation.
  • Commands to confirm the folder is draining.

How the Recoverable Items folder fills up

The Recoverable Items folder lives in the hidden non-IPM part of the mailbox and has its own quota, separate from the mailbox quota. Its subfolders matter for diagnosis:

SubfolderWhat lands there
DeletionsItems deleted from Deleted Items, or with Shift+Delete. Users can recover these.
PurgesHard-deleted items, when Litigation Hold or single item recovery is enabled.
VersionsOriginal copies of items edited while the mailbox is on hold (copy-on-write).
DiscoveryHoldsHard-deleted items that match an In-Place Hold, or that a Microsoft 365 retention policy keeps.
SubstrateHoldsOriginal copies of Teams messages that were modified or deleted, kept by a hold or Teams chat retention policy.
AuditsMailbox audit log entries.
Calendar LoggingCalendar change logs.

Without a hold, the folder mostly takes care of itself. Items are purged when the deleted item retention period expires (14 days by default, up to 30 days), and if the folder reaches the warning quota, items are purged first in, first out. With single item recovery enabled, which is the Exchange Online default, users can't purge the folder themselves, but the Managed Folder Assistant still purges expired items.

A hold changes that. Litigation Hold or In-Place Hold stops the Managed Folder Assistant from purging the Deletions, Purges and DiscoveryHolds subfolders and turns on copy-on-write. Microsoft 365 retention policies and retention labels that retain content have the same effect. Data now only leaves the primary Recoverable Items folder by moving to the archive, through the Recoverable Items 14 days move to archive tag in the Default MRM Policy. If the archive isn't enabled, that tag does nothing and the folder grows until it hits the quota.

The quotas you are working with

Mailbox stateWarning quotaHard quota
Not on hold20 GB30 GB
On Litigation Hold, In-Place Hold or a Microsoft 365 retention policy90 GB100 GB
On hold, archive enabled95 GB105 GB
On hold, auto-expanding archiving enabled for the user100 GB110 GB

The archive mailbox has its own Recoverable Items folder. With auto-expanding archiving, the archive including its Recoverable Items folder can grow to 1.5 TB in total, spread across several archive shards rather than one large mailbox.

You can't raise these values directly. The Set-Mailbox reference lists RecoverableItemsQuota and RecoverableItemsWarningQuota as available only in on-premises Exchange.

Prerequisites

  • Exchange Online PowerShell, and Security & Compliance PowerShell if you need to name retention policies or eDiscovery holds:
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com
Connect-IPPSSession -UserPrincipalName admin@contoso.com
  • Mail Recipients permissions (or Organization Management) to enable archives and auto-expanding archiving.
  • The Legal Hold role if you will remove a delay hold.
  • Agreement from whoever owns the hold (legal, records management or compliance) before you change or remove anything that preserves data.

Step 1: Measure the quota and the usage

Read the quotas and hold flags on the mailbox:

Get-Mailbox ana@contoso.com | Format-List Alias, RecoverableItemsQuota, RecoverableItemsWarningQuota,
    LitigationHoldEnabled, InPlaceHolds, ArchiveGuid, ArchiveStatus, AutoExpandingArchiveEnabled,
    RetainDeletedItemsFor, SingleItemRecoveryEnabled, RetentionPolicy

Then measure how much of it is used. TotalDeletedItemSize is the Recoverable Items usage:

Get-MailboxStatistics ana@contoso.com | Format-List TotalDeletedItemSize, TotalItemSize
Get-MailboxStatistics ana@contoso.com -Archive | Format-List TotalDeletedItemSize

Get-MailboxStatistics -Archive can be slow or time out when the user has several archive shards, and it shows aggregated figures. Passing the archive GUID instead returns the main archive alone.

Break the usage down by subfolder to see what kind of data is filling it:

Get-MailboxFolderStatistics ana@contoso.com -FolderScope RecoverableItems |
    Format-Table Name, FolderAndSubfolderSize, ItemsInFolderAndSubfolders -AutoSize

Large Purges or DiscoveryHolds point to a hold preserving hard deletes. Large Versions point to heavy editing under hold. Large SubstrateHolds points to Teams retention. A large Deletions with no archive is the classic case of the 14-day move-to-archive tag having nowhere to go.

Step 2: Identify every hold on the mailbox

A mailbox can be held by several things at once, and LitigationHoldEnabled is only one of them:

Get-Mailbox ana@contoso.com | Select-Object -ExpandProperty InPlaceHolds
Get-OrganizationConfig | Select-Object -ExpandProperty InPlaceHolds
Get-Mailbox ana@contoso.com | Format-List ComplianceTagHoldApplied, DelayHoldApplied, DelayReleaseHoldApplied

Read the InPlaceHolds values by prefix:

ValueHold typeHow to name it
mbx...Microsoft 365 retention policy applied to the mailboxGet-RetentionCompliancePolicy <GUID> | Format-List Name, with the prefix and any :1, :2 or :3 action suffix removed
skp...Retention policy for Skype for Business conversationsSame cmdlet, prefix and suffix removed
UniH...eDiscovery case holdGet-CaseHoldPolicy <GUID without prefix>
-mbx...Mailbox excluded from an organization-wide policyCheck the organization-wide policy

An empty InPlaceHolds on the mailbox doesn't mean no hold: organization-wide retention policies show up only in Get-OrganizationConfig. ComplianceTagHoldApplied set to True means a retention label that retains content was applied to an item or folder. DelayHoldApplied or DelayReleaseHoldApplied set to True means a hold was recently removed and the mailbox is still treated as on hold for 30 days.

Step 3: Free space without dropping the hold

These fixes keep every hold in place. Start here.

Enable the archive mailbox

If ArchiveStatus is None, enabling the archive alone gives the default Recoverable Items 14 days move to archive tag somewhere to move items, and raises the primary Recoverable Items quota from 100 GB to 105 GB for mailboxes on hold:

Enable-Mailbox ana@contoso.com -Archive

Tell the user first: the Default MRM Policy also contains Default 2 year move to archive, so older mail in their primary mailbox can move to the new archive too.

Turn on auto-expanding archiving for this user

If the main archive is itself filling, enable auto-expanding archiving for the user. For a mailbox on hold, this adds 10 GB to both the archive quota and the primary Recoverable Items quota (to 110 GB) as a buffer, and the archive can then grow to 1.5 TB:

Enable-Mailbox ana@contoso.com -AutoExpandingArchive
Get-Mailbox ana@contoso.com | Format-List AutoExpandingArchiveEnabled

Know the trade-offs before you run it. Auto-expanding archiving can't be turned off once enabled. A mailbox with it enabled can't be recovered or restored from an inactive state, and a cloud archive with it enabled can't be offboarded to Exchange Server. Extra storage is provisioned when the archive reaches 90 GB and can take up to 30 days. For users whose primary mailbox is on-premises and archive is in the cloud, the per-user command isn't supported; you have to use Set-OrganizationConfig -AutoExpandingArchive for the whole organization, which doesn't add the 10 GB buffer.

Run the Managed Folder Assistant

After you enable the archive, start the Managed Folder Assistant instead of waiting up to seven days for it to process the mailbox:

Start-ManagedFolderAssistant ana@contoso.com

Move items to the archive sooner

Microsoft's troubleshooting article for this symptom covers mailboxes on hold with an archive enabled, where a new or changed retention policy deletes many items at once. They all land in Recoverable Items, and the 14-day tag keeps them there for two weeks while the folder hits its quota. The fix is a shorter age limit on the tag that applies to the Recoverable Items folder:

Get-RetentionPolicyTag | Format-Table Name, Type, RetentionAction, AgeLimitForRetention

The troubleshooting article sets the age limit of the tag whose type is RecoverableItems to 1 day and then runs the Managed Folder Assistant:

Set-RetentionPolicyTag "Recoverable Items 14 days move to archive" -AgeLimitForRetention 1
Start-ManagedFolderAssistant ana@contoso.com

Use the exact tag name from the previous output. Changing the default tag affects every retention policy that links it. A narrower option, based on Microsoft's procedure for mailboxes on hold, is a dedicated tag and policy:

New-RetentionPolicyTag -Name "Recoverable Items 1 day move to archive" -Type RecoverableItems -AgeLimitForRetention 1 -RetentionAction MoveToArchive
New-RetentionPolicy "MRM Policy for Mailboxes on Hold" -RetentionPolicyTagLinks "Recoverable Items 1 day move to archive","Default 2 year move to archive","Junk Email","Never Delete"
Set-Mailbox ana@contoso.com -RetentionPolicy "MRM Policy for Mailboxes on Hold"
Start-ManagedFolderAssistant ana@contoso.com

Add the other tags your users rely on to the new policy, because assigning it replaces the retention policy the mailbox had before. Microsoft's general guidance is to match the Recoverable Items tag's age to the deleted item retention period so users keep their full window to recover deleted items; a one-day age is for draining a full folder, so consider raising it again later.

If you import large PST files into a mailbox on hold, plan for this as well. The Import service also turns on retention hold, as the PST import guide explains.

Step 4: When the hold itself is the problem

If the data no longer needs preserving, removing the hold lets the Managed Folder Assistant purge again. Do this only with written approval from the hold's owner.

  • Litigation Hold: Set-Mailbox ana@contoso.com -LitigationHoldEnabled $false. It can take up to 240 minutes to take effect.
  • Retention policy: edit the policy in the Microsoft Purview portal and remove the mailbox, or exclude it from an organization-wide policy. Exclusions can take up to 24 hours to apply.
  • eDiscovery hold: remove the mailbox from the hold in its eDiscovery case.

Removing any hold triggers a delay hold: for 30 days the mailbox is still treated as on hold. If you need the space sooner and the hold owner agrees, remove it (requires the Legal Hold role):

Set-Mailbox ana@contoso.com -RemoveDelayHoldApplied
Set-Mailbox ana@contoso.com -RemoveDelayReleaseHoldApplied

The first removes delay holds on email data, the second on data from cloud apps such as Teams. To see the hold history first, run Export-MailboxDiagnosticLogs -Identity ana@contoso.com -ComponentName HoldTracking.

To delete specific items while a hold stays in place, for example after data spillage, Microsoft documents a separate procedure in "Delete items in the Recoverable Items folder for mailboxes on hold in eDiscovery". It disables client access and single item recovery, sets ElcProcessingDisabled, temporarily removes every hold, purges with New-ComplianceSearchAction -Purge -PurgeType HardDelete (up to 10 items per mailbox per run), and then restores everything. It doesn't work for mailboxes under a Preservation Lock policy or for inactive mailboxes. Follow that article step by step rather than improvising; the purge is permanent.

Verification

Re-run the measurements over the next day or two:

Get-MailboxStatistics ana@contoso.com | Format-List TotalDeletedItemSize
Get-Mailbox ana@contoso.com | Format-List RecoverableItemsQuota, ArchiveStatus, AutoExpandingArchiveEnabled, RetentionPolicy
Get-MailboxFolderStatistics ana@contoso.com -FolderScope RecoverableItems -Archive |
    Format-Table Name, FolderAndSubfolderSize -AutoSize

You want TotalDeletedItemSize in the primary mailbox falling below the warning quota, and the archive's Recoverable Items folders growing by roughly the same amount. Then ask the user to delete an item and accept a meeting invitation.

To catch the next one early, check TotalDeletedItemSize with Get-MailboxStatistics periodically on mailboxes under long-term holds, and enable the archive on those mailboxes before the Recoverable Items folder approaches its warning quota.

Troubleshooting

SymptomLikely causeFix
User can't delete items or accept invitationsRecoverable Items at hard quotaSteps 1 to 3.
Folder full, LitigationHoldEnabled is FalseRetention policy, eDiscovery hold, label or delay holdCheck InPlaceHolds, Get-OrganizationConfig, ComplianceTagHoldApplied, DelayHoldApplied.
Archive enabled, MFA runs, nothing movesItems still inside the 14-day tag window after a mass deletionShorter Recoverable Items tag, then Start-ManagedFolderAssistant.
Large SubstrateHolds subfolderTeams retention policy or holdReview the Teams retention policy with its owner.
Set-Mailbox -RecoverableItemsQuota failsParameter is on-premises onlyUse archive and auto-expanding archiving.
Cross-tenant move fails with a quota errorTarget mail user's Recoverable Items quota is 30 GBRaise it on the target with Set-MailUser <identity> -EnableLitigationHoldForMigration; see the cross-tenant migration post.
Purge leaves items behindA hold source is still in effectRecheck every hold type, including delay holds.

Checklist

  • Record quota, TotalDeletedItemSize and the per-subfolder sizes.
  • List every hold: mailbox InPlaceHolds, organization-wide policies, labels, delay holds, Litigation Hold.
  • Enable the archive if it's missing; run the Managed Folder Assistant.
  • Consider auto-expanding archiving, knowing it can't be undone.
  • Shorten the Recoverable Items tag through a dedicated policy if a mass deletion filled the folder.
  • Change or remove holds only with the owner's approval; account for the 30-day delay hold.
  • Verify the primary folder drains and the archive grows.

References

Questions people ask

What is the Recoverable Items quota in Exchange Online?

By default the Recoverable Items folder has a warning quota of 20 GB and a hard quota of 30 GB. When the mailbox is placed on Litigation Hold or In-Place Hold, or a Microsoft 365 retention policy applies to it, the quotas rise automatically to 90 GB and 100 GB. Enabling the archive on a mailbox on hold raises the hard quota to 105 GB, and enabling auto-expanding archiving for that user raises it to 110 GB.

What happens when the Recoverable Items folder is full?

No more items can be stored in it. Users can't delete items, the Managed Folder Assistant can't delete items based on retention tags, copy-on-write can't keep versions of edited items for mailboxes on hold, and mailbox audit entries can't be saved. Users may also be unable to accept calendar invitations.

Why doesn't the Recoverable Items folder empty itself on a mailbox on hold?

A hold stops the Managed Folder Assistant from purging the Deletions, Purges and DiscoveryHolds subfolders. The only automatic relief is the Default MRM Policy tag that moves Recoverable Items to the archive after 14 days, and that does nothing if the archive mailbox isn't enabled.

Can I just raise RecoverableItemsQuota with Set-Mailbox?

No. In the Set-Mailbox reference, RecoverableItemsQuota and RecoverableItemsWarningQuota are available only in on-premises Exchange. In Exchange Online the quota changes only through holds, the archive and auto-expanding archiving.

Exchange OnlineRecoverable ItemsMicrosoft PurviewRetention
  1. Import PST files to Exchange Online with network upload and AzCopy

    Bulk-import PST files into Exchange Online mailboxes and archives with the Microsoft Purview Import service: SAS URL, AzCopy upload, mapping CSV, filtering and retention hold.

    Microsoft 36513 min read
  2. OneDrive after a user leaves: keep, hand over and clean up the files

    Preserve a departed user's OneDrive, give a manager or admin access, move what matters, and understand the retention, read-only, archive and deletion timelines before you delete the account.

    Microsoft 36513 min read
  3. Calendar permissions in Exchange Online: Add-MailboxFolderPermission guide

    Share calendars, change the organization-wide Default permission and add calendar delegates in Exchange Online with Add-, Set- and Remove-MailboxFolderPermission, including localized folder names.

    Microsoft 3659 min read