Overview
This evergreen explainer details how to remove the KACE endpoint agent from a Mac. KACE (now part of Ivanti) is widely used for patching, inventory, and configuration management. If you no longer need KACE management or are reimaging the device, you can fully uninstall the agent and clean associated files. Steps include using the built-in uninstaller or removing launch agents, caches, and preferences. These instructions assume local admin access and are framed as a general procedural guide, not device-specific troubleshooting.
Key prerequisites and cautions
Before removal, note the following:
- Ensure you have local administrator credentials on the Mac.
- Confirm that removing the agent is authorized by your IT or security team.
- Back up important data if you rely on KACE for inventory or compliance tracking.
- Know whether the device should remain managed; removal may be logged by monitoring tools.
What is the KACE agent on macOS
The KACE agent is a client utility installed on endpoints to communicate with the KACE (or Ivanti) management server. It handles tasks such as inventory collection, patch deployment, and scripted actions. On macOS, it typically runs as a launch agent or daemon under the local user or system context and is located in standard paths like /Library/Application Support or /opt/kace. Understanding its role helps you remove it cleanly without leaving orphaned processes or configuration artifacts.
Common file and process locations
The agent commonly installs the following components on macOS:
- Launch agent or daemon plist files
- Application support directory (e.g.,
/Library/Application Support/KACE) - Binaries and scripts in
/opt/kaceor similar - Preference plist files under
/Library/Preferences
Stop the KACE agent processes
Before removing files, stop active agent processes to avoid file locks or unexpected behavior. Use the following commands in Terminal:
- Stop the launch agent/daemon if it is running.
- Verify no KACE-related processes remain active.
Terminal commands to stop processes
Run these commands one at a time in Terminal:
# Attempt to stop the agent gracefully (if a launch script exists)
launchctl kickstart -k system/org.kace.agent 2>/dev/null || true
# List remaining KACE-related processes
ps aux | grep -i kace | grep -v grep
Remove the KACE agent using the official uninstaller
If the agent was installed via an enterprise package, check whether an uninstaller script or pkg is available. Many KACE deployments include a built-in removal method. Locate and run the official uninstaller as instructed by your administrator or documentation. If no uninstaller is provided, proceed with manual removal.
Typical uninstaller locations
/Library/Application Support/KACE/uninstall.sh- Package-based removal via
pkgutilorinstaller
Manual removal steps
If you must remove the agent manually, follow these steps carefully. Perform them only on devices you manage or with explicit authorization.
- Stop any running agent processes (see previous section).
- Remove launch agents or daemons:
# Remove a typical launch agent plist
sudo rm -f /Library/LaunchAgents/org.kace.agent.plist
sudo launchctl bootout system/org.kace.agent 2>/dev/null || true
- Delete application support files:
sudo rm -rf "/Library/Application Support/KACE"
sudo rm -rf "/opt/kace"
- Remove preferences and logs:
sudo rm -f /Library/Preferences/org.kace.agent.plist
sudo rm -rf /Library/Logs/KACE
Verify removal and clean up
After completing the removal steps, verify that the agent is no longer present:
- Check for remaining processes.
- Confirm expected directories and files are removed.
- Look for network connections to the KACE server (optional, for advanced verification).
Verification commands
# Check for KACE processes
ps aux | grep -i kace | grep -v grep
# Confirm files are removed
ls -la "/Library/Application Support/KACE" 2&&1 || echo "Directory not found (expected)"
# Look for leftover plist
launchctl list | grep -i kace || echo "No KACE launch services found (expected)"
Handle common issues
During removal, you may encounter locked files, agent respawning, or errors in logs. If the agent respawns after removal, check for additional packages or scripts that reinstall it. Look for enterprise configuration profiles or third-party management tools that could restore the agent. In such cases, remove associated profiles and coordinate with your device management solution.
Quick troubleshooting checklist
- Are you running the commands with sudo or as root? Ensure you have admin privileges.
- Is the agent respawning? Check for reinstallation packages or management profiles.
- Do you see permission errors? Use
sudoand confirm ownership of the paths. - Is network traffic still present? Use monitoring tools to confirm no callbacks to the KACE server.
Table: Key identifiers and paths for the KACE agent on macOS
| Attribute | Verified Detail (typical) | Source Type |
|---|---|---|
| Launch agent plist name | org.kace.agent.plist | Common convention / package contents |
| Typical install location for agent binaries | /opt/kace or /Library/Application Support/KACE | Representative paths from deployments |
| Preference plist | /Library/Preferences/org.kace.agent.plist | Typical macOS app pattern |
| Log directory | /Library/Logs/KACE | Representative path |
| Common uninstall helper | /Library/Application Support/KACE/uninstall.sh | Not universal; depends on package |
Post-removal considerations
After successfully removing the KACE agent, consider the following:
- Reimage or re-enrollment: If the device will be reimaged, ensure the new image does not include KACE unless required.
- Inventory and compliance: Update any internal records that tracked this device via KACE.
- Alternative management: If you need endpoint management, evaluate alternatives and coordinate changes with IT policy.
When to seek internal support
If you are unsure about ownership, lack admin rights, or observe the agent repeatedly reinstalling, contact your internal IT or security team. They can confirm whether the device should remain managed and help safely decommission the endpoint from KACE.