Grammarly for Mac leverages the system’s capabilities to spawn several different background processes. These are sometimes referred to as agents, launch agents, daemons, services, or login items. Below is a list of their purpose, when they run, and related files.
Grammarly Desktop Helper
Purpose
This helper ensures the stability and performance of the main application by restarting it in the event of a crash or hang. Additionally, it acts as an intermediary in the communication with browsers to integrate with certain websites.
Lifecycle
The system service launchd starts this process at login, and restarts it if it gets terminated. This is achieved by using the KeepAlive and RunAtLoad options.
Files
- ~/Library/LaunchAgents/com.grammarly.ProjectLlama.Shepherd.plist
- /Applications/Grammarly Desktop.app/Contents/Library/LaunchAgents/Grammarly Desktop Helper.app
Grammarly Desktop Update Service
Purpose
The update service is a secondary update mechanism for the main Grammarly app. It periodically checks for updates released by the Grammarly team in case the primary update mechanism built into the main app fails.
Lifecycle
The system service launchd starts this process on startup, and restarts it if it gets terminated. This is achieved by using the KeepAlive and RunAtLoad options. If the service cannot be started by launchd, the main Grammarly app will also launch this process as a regular process (not an agent).
Files
- ~/Library/LaunchAgents/com.grammarly.ProjectLlama.UpdateService.plist
- ~/Library/Application Support/com.grammarly.ProjectLlama/Grammarly Desktop Update Service.app
- /Applications/Grammarly Desktop.app/Contents/Library/LaunchAgents/Grammarly Desktop Update Service.app
Grammarly Desktop Uninstaller
Purpose
This process detects when the main Grammarly application has been deleted and performs cleanup tasks, such as removing other background processes and their associated files.
Lifecycle
The system service launchd starts this process when files are changed in the /Applications directory. The process immediately terminates after checking whether Grammarly has been uninstalled and performing the necessary cleanup actions. This is achieved by using the WatchPaths option.
Files
- ~/Library/LaunchAgents/com.grammarly.ProjectLlama.Uninstaller.plist
- ~/Library/Application Support/com.grammarly.ProjectLlama/Grammarly Desktop Uninstaller.app
- /Applications/Grammarly Desktop.app/Contents/Library/LaunchAgents/Grammarly Desktop Uninstaller.app