This post may contain affiliate links. Please read my disclosure for more info.
In this post, I’ll explain how to fix the pesky Calendar can’t save event X to Exchange Server issue with Apple’s Calendar in OS X or macOS. The issue occurs when the Mac Calendar won’t sync with Exchange and then refuses to accept the calendar data on the server.
Apple’s Calendar (prev. iCal) in OS X/macOS and Microsoft Exchange do not always play together nicely. At work, we have a bunch of Mac users who had issues with our on-premise Exchange 2010. When we migrated to Office 365 the situation improved dramatically, but I still ran into the occasional problem.
One of the more annoying problems is when Calendar doesn’t allow you to make changes to an event or even delete it. But instead, it responds with the following error message: “Calendar can’t save event X to Exchange Server.”
The Calendar app often gives you three options: Revert to Server, Try Again and Ignore. In some cases, neither option resolves the issue, and the error message keeps coming back, every time Calendar tries to synchronize with the Exchange Server.
Note: The screenshot above is for illustrative purposes only. I triggered the error by adding a too large attachment to my test event. Your error message may look slightly different.
I don’t know the exact cause of this issue but I can only assume it is related to a corrupted event or individual event data Exchange doesn’t like (i.e., large attachment). If you cannot resolve the problem by any of the three options Calendar offers you, it is time to fix the problem manually.
The solution involves deleting some cache files and restarting all Calendar processes. In a nutshell, you have to:
Quitting Calendar can be done through the keyboard shortcut Command + Q or via the Calendar > Quit Calendar menu. The same steps apply to Apple Mail. It’s essential to quit Mail too because it integrates with Calendar, depending on your configuration. That integration can lead to locked files that you can’t delete or, in some cases, it immediately recreates files you want to delete.
To launch Activity Monitor go through Launchpad (second icon from the right in your dock) or use Spotlight (Command + Space).
Quitting the Calendar application is not enough because there is still a background process running called CalendarAgent that needs to be terminated as well. The best way to do that is through Activity Monitor. Just search for all processes containing the phrase “Calendar” and quit or force quit them all. Once done, leave Activity Monitor running and make sure none of the Calendar processes magically relaunch.
Open Finder and navigate to ~/Library/Calendars either through the keyboard shortcut Shift + Command + G or the Go > Go to Folder… menu. There you will see up to three files starting with the name Calendar Cache. Drag all three files to the trash.
As the last step, relaunch Calendar and don’t freak out if all your events are gone. It will take up to a few minutes to synchronize them back from the server. The cache files you deleted above-contained data from all calendar accounts, not only Exchange. Consequently, all the accounts will have to be synched. Worst case scenario, you may have to terminate all Calendar processes via Activity Monitor again (to force the re-sync) or simply restart your Mac. Rest assured, you did not lose any data!
Some of my readers reported that they had to execute the steps above twice or even reboot before the “Calendar can’t save event” issue disappeared for good.
If the steps above resolved your problem, or even if they didn’t, leave me a comment and let me know, please!
I was born and raised in Austria. I speak German, English, and Spanish. Since moving to the U.S., I have lived and worked in Alpharetta, GA. In my twenties, I was a professional 100m sprinter. These days I do mostly CrossFit. I'm a technologist and Apple fan. I love science and don't believe anything unless there is proof. I follow the Paleo diet and intermittently fast every day. I'm married and have two trilingual kids. My goal with this blog is to share what I learn so that you can spend time on something else.