What peopled does
peopled ships inside macOS, in a protected system folder, so it is not something you installed. Apple publishes no description of it. What the Mac itself shows is enough to work with.
Its launch file tells macOS to start it when the Contacts database changes. Its own log lines include contact suggestions for widgets. So contacts, and widgets that show them, are where to look.
First, measure whether it is stuck
Activity Monitor shows a high number, but that number is one moment. It cannot tell a burst from a loop.
A better reading is the total processor time the process has used since it started. That total only grows, so two readings a minute apart show how hard it is working.
% ps -axo pid,pcpu,etime,time,comm | grep '[p]eopled'17539 0.0 16-00:06:38 0:17.18 /System/Library/PrivateFrameworks/People.framework/peopledThe fourth column is total processor time; the third is how long it has been running. This Mac shows 17 seconds used in 16 days, which is idle. Run it again a minute later. If the total grew by about 45 seconds, peopled is using about three-quarters of one processor core.
If the total grows for a while after you add an account or import contacts, then stops, that was ordinary work and nothing needs fixing.
A Contacts widget that cannot read call history
After a Tahoe update, peopled holds a large share of the processor for hours or days, even with the Mac idle, and a Contacts widget is on the desktop or in Notification Center.
In a long Apple Community thread that began with Tahoe 26.4, several people said removing the widget and restarting ended the load.
One poster's logs showed macOS refusing peopled access to the call history folder, CallHistoryDB. The protection doing the refusing is the sandbox — the set of rules that limits which files a system process may open. You can read those refusals yourself.
% /usr/bin/log show --last 1h --predicate 'process == "kernel" AND eventMessage CONTAINS "peopled"' --style compact | tail -42026-09-13 09:26:59.592 E kernel[0:a56fb57] (Sandbox) Sandbox: peopled(17539) deny(1) file-read-data /private/var/db/CoreDuet/People/interactionC.db
2026-09-13 09:26:59.593 E kernel[0:a56f9d2] (Sandbox) Sandbox: peopled(17539) deny(1) mach-lookup com.apple.coreservices.quarantine-resolver
2026-09-13 09:26:59.593 E kernel[0:a56f9d2] (Sandbox) 1 duplicate report for Sandbox: peopled(17539) deny(1) mach-lookup com.apple.coreservices.quarantine-resolver
2026-09-13 09:26:59.593 E kernel[0:a56f9d2] (Sandbox) Sandbox: peopled(17539) deny(1) mach-lookup com.apple.lsd.mapdbEach line is macOS refusing peopled something. Refusals alone are normal: this healthy Mac logged 133 in a day, all in short bursts, and none named CallHistoryDB. A CallHistoryDB line that keeps repeating while the processor time keeps climbing points at this cause. The command can take several seconds.
Fixremove the Contacts widget, then restart. On the desktop, Control-click the wallpaper, choose Edit Widgets, and click the remove button on the widget. In Notification Center, Control-click the widget and choose Remove Widget (Apple's steps).
After the restart, keep the widget gallery closed while you check. One report in the same thread says opening it started the load again.
A contacts account that keeps failing
There is no Contacts widget, and the load started around the time you added or signed back in to an account, such as Google.
In the same thread, one person's load ended after they removed a Google account from Contacts. A change to the Contacts database is one of the events that starts peopled. An account that keeps rewriting cards would keep giving it work.
Fixturn one account off rather than deleting it, starting with the account whose trouble lines up with the load. Apple notes its contacts leave this Mac until you turn it back on. First, open that account's website and make sure your recent contact edits appear there, because edits that never synced could be lost. Then, in Contacts, choose Contacts > Settings, click Accounts, select the account, and deselect Enable this account.
What to leave alone
Some guides say to delete the CallHistoryDB folder. Deleting it throws away what it holds, and the widget or account that caused the loop is still there.
Quitting peopled does not last. Its launch file has macOS start it again the next time one of its events fires. Turning off contact syncing everywhere removes those contacts from this Mac, so save it for last.
What Noah can determine on this Mac
NoahNoah can read the Mac's logs for peopled and for the sandbox refusals that name it. A refusal that keeps repeating, rather than one short burst, points to a loop. The log folds repeats into a "duplicate report" line, so a repeat can show up as a count.
Noah cannot reliably tell how much of the processor peopled is using, so the two readings a minute apart are still yours. It cannot see which widgets you have added, list your contacts accounts, or open your call history either. Deleting anything needs your approval first, and this page does not recommend deleting the call history folder.