By Denys Medvediev

Troubleshooting

Fix corespeechd high CPU on Mac

corespeechd is the macOS speech daemon behind Dictation, Siri, and Voice Control. When it spikes your CPU and spins the fans, the fix is to relaunch it and turn off the speech feature feeding it. No system files get deleted.

Last updated: June 2026

A MacBook on a desk with the fan running warm, evoking a process pinning the CPU

corespeechd high CPU on Mac comes from the macOS speech daemon that powers Dictation, Siri, and Voice Control. The fix: quit corespeechd in Activity Monitor (it relaunches on its own), then toggle Dictation off and on in System Settings, and reboot. A dedicated offline dictation engine never touches corespeechd at all.

You open Activity Monitor because the fans are loud and the battery is draining at lunch, and there it is: a process called corespeechd sitting near the top, eating 30, 50, sometimes 100 percent of a CPU core. The name tells you almost nothing. It sounds like something you shouldn't touch. The reflex is to assume malware. It isn't malware.

corespeechd is one of Apple's own background processes. It runs the speech side of macOS — Dictation, Siri, Voice Control. Most days you never notice it. Then something gets stuck, and it pins a core and won't let go. The good news: the fixes are all reversible, none of them involve deleting a system file, and the worst case is a reboot. I'll give you the fast fix first, then the permanent one.

Here's the part the scary forum threads bury. corespeechd is a daemon — a program that runs quietly in the background and restarts itself when it dies. That's by design. So when you quit it and it comes straight back, that isn't a failure. That's the daemon doing its job. You're not killing it for good; you're forcing it to start over clean.

The real question is which speech feature is feeding it. Dictation, Siri, and Voice Control all route through corespeechd. A stuck language download, a half-finished update, or a microphone that just connected can leave it churning. Find the feature, calm it down, and the spike goes away. The rest of this is how — fast fix, permanent fix, repairing built-in Dictation, and where a dedicated tool sidesteps the whole thing.

What corespeechd is and why it spikes

A laptop screen showing a system activity monitor with processes listed, on a dark desk

corespeechd is the background daemon for Apple's CoreSpeech framework — the part of macOS that handles speech. Dictation, "Hey Siri," and Voice Control all hand audio to it. When you talk to your Mac, corespeechd is the thing listening. It's a normal, signed Apple process living in the system, not something an app installed behind your back.

It spikes when one of those speech features gets stuck. Apple Community threads on the issue point at a few repeat offenders: a Dictation or Siri language model that started downloading and never finished, a macOS update that left the speech stack in a half-state, or Voice Control quietly running in the background. Users also report it climbing the moment a microphone connects — AirPods, a headset, a USB mic — because corespeechd wakes up to start processing voice. None of those are dangerous. They're just stuck.

The thing to hold onto is that the CPU spike is a symptom, not the disease. The daemon isn't broken; it's waiting on, or looping over, a speech job it can't finish. That's why the fixes below aren't "remove corespeechd" — you can't, and you shouldn't want to. They're "stop the job that's making it spin." One caution before any of it: do not go deleting files out of the system folders to chase this. There is no system file you need to delete here, and removing the wrong one breaks far more than a warm fan.

The fast fix that works for most people

Start with the two-minute version, because it clears most cases. The plan: relaunch the daemon, then quiet whatever speech feature woke it. Relaunching corespeechd does not turn off Dictation or Siri — it just restarts the process so a stuck job gets dropped.

Do it in this order: open Activity Monitor (in Applications > Utilities, or search it in Spotlight), find corespeechd in the list, select it, and click the stop button (the octagon with an X), then choose Quit. It will relaunch on its own within seconds — that's expected. If you'd rather use Terminal, killall corespeechd does the same thing; the daemon restarts itself automatically. (The forceful killall -9 corespeechd exists, but reach for the plain version first — the -9 is a power-user last resort, not a starting point.) Then go to System Settings > Keyboard, scroll to Dictation, and turn it off; wait a few seconds, then turn it back on. This off-and-on is the single most reported fix in the Apple Community threads. If it's still spinning, reboot — a restart clears the speech stack completely, which a relaunch alone sometimes can't.

Cancel
A dedicated push-to-talk overlay listens only while you hold the key — no always-on speech daemon waiting in the background.

For most people, one of those four steps ends it — usually the Dictation toggle or the reboot. The reason a tool like Whisper never shows up in this fight is structural: it doesn't lean on corespeechd at all. Its local engine only listens while you hold a hotkey, then stops. There's no always-on Apple speech daemon in the loop to get stuck, because the dictation isn't running through the OS speech stack in the first place.

The permanent fix: dictation that never hits corespeechd

If corespeechd keeps coming back, the durable answer is to stop depending on the macOS speech stack for the dictating you actually do. A dedicated tool runs its own local engine, so the OS daemon has no reason to spin. You need a Mac on Apple Silicon, a working microphone, and about two minutes. Here's the sequence.

Step 1 — Install Whisper and sign in.

Download from the download page, install, and create a free account. No card. The whole local transcription pipeline opens right away.

You'll know it worked when the app's menu-bar icon appears and the setup wizard offers to pick a model.

Step 2 — Pick a transcription path.

The app doesn't choose for you. You get three: Cloud (OpenAI, bring your own key), Local Parakeet, or Local Whisper. To keep everything off Apple's speech stack and off the network, pick a local engine.

You'll know it worked when a model finishes downloading and shows as ready.

Step 3 — Set your hotkey and grant Accessibility.

On Mac the default is Command+Option held as push-to-talk. Grant the Accessibility permission when prompted; without it, the paste-at-cursor can't reach other apps.

You'll know it worked when a test recording pastes into any text field.

Step 4 — Hold the hotkey, talk, release.

Put your cursor in any app, hold Command+Option, say a sentence, release. The transcript appears at the cursor — and corespeechd stays asleep the whole time.

You'll know it worked when your spoken sentence lands as text with the fans still quiet.

Whisper
The real Whisper desktop app on the settings screen, with the Transcription and AI panels open.

This isn't "uninstall Dictation." You can leave macOS Dictation exactly as it is. The point is that your day-to-day dictating now runs through a local engine that listens only on key-press, so there's no always-on speech job for corespeechd to choke on. The slow part is the one-time model download; after that it's the four steps above.

If you'd rather repair built-in Dictation

Maybe you like macOS Dictation and just want it to stop misbehaving. Fair. The fixes here are the deeper, feature-by-feature version of the fast fix, and they're the ones Apple's own support pages point to. Start by ruling out the obvious: open System Settings > Keyboard > Dictation and confirm it's actually on, with the right language and dialect selected under the Languages list.

A stuck language model is the classic cause, so re-download it. In System Settings > Keyboard > Dictation, click Edit next to Languages, remove the language you use, then add it back so macOS fetches a fresh copy. On Apple Silicon, general dictation runs on-device once that model is downloaded — a corrupt or half-downloaded model is exactly the kind of thing that leaves corespeechd looping. While you're in there, make sure Voice Control is off if you don't use it: it's a separate accessibility feature (System Settings > Accessibility > Voice Control) that grabs the same audio pipeline and is a common hidden source of speech-daemon load.

Two more levers, both reversible. First, if you don't use "Hey Siri," turn Siri off (or at least the always-listening part) under System Settings > Siri — Siri routes through the same CoreSpeech framework, and Apple Community posters report toggling it helps. Second, keep macOS updated; several of these spikes trace to a botched update, and the point release that follows often fixes the speech stack. If you want to confirm a single feature is the culprit, turn them off one at a time and watch corespeechd in Activity Monitor between each — when the spike drops, you've found it. What I would not do is follow any guide that tells you to delete files from the system Library to "reset" speech. That's how a warm laptop becomes a broken one.

Local or cloud: which Whisper mode to pick

If you go the dedicated-tool route to keep corespeechd out of your day, the app makes you choose a path rather than picking one for you. For sidestepping the speech daemon, the two local options are the natural fit — they run on your machine and never touch Apple's speech stack or the network. Here's how the three differ, because picking well matters.

The three paths, plainly:

  • Local ParakeetNVIDIA's TDT engine, around 600 MB, and the fastest local option — 5 to 10 times faster than Whisper on CPU. Covers English plus 24 other European languages, 25 in total. No translate-to-English. If you mostly dictate in English, this is the quick, fully offline pick that keeps everything off the OS speech daemon.
  • Local Whisperslower than Parakeet on the same Mac, but the multilingual builds cover 99 languages and can translate to English. The English-only builds are English-only, not 99. Pick this for Chinese, Japanese, Korean, or any translation work, which Parakeet can't do. Default English model is around 480 MB. Still fully local, still nothing through corespeechd.
  • Cloud (OpenAI, BYOK)best accuracy and web access, using your own OpenAI key billed straight by OpenAI. Transcription runs on gpt-4o-mini-transcribe by default. Needs internet, so it's the one path that leaves your machine. The Cloud surface is part of Whisper Pro.

The boring truth is that for the kind of dictating most people do, a local engine is plenty, and it's the right call when the whole reason you're here is a runaway Apple speech process. Both local engines run entirely on your Mac with nothing sent to a server. Cloud earns its place when you want top-tier accuracy on a hard recording or you need the model to pull a fact off the web mid-sentence. If you're chasing corespeechd, start local.

Cleaner text once dictation behaves

Raw dictation comes out as a run-on, whichever engine you use. You say "okay so reply to the landlord about the heater and tell him I'm home Thursday after three," and that's the unpunctuated wall any speech engine hands you. macOS Dictation puts in basic punctuation when you say "comma" or "period." For heavier cleanup — dropping the "ums," fixing the run-ons, turning a spoken paragraph into something you'd actually send — a dedicated tool can run an AI pass.

With Whisper, say the activation phrase "Hey whisper" and the text gets enhanced before it lands at your cursor. On a local model that runs through Ollama, so the cleanup stays on your machine too; in cloud mode it's gpt-5-mini by default. Either way, none of it routes through corespeechd — the spike you came here to fix isn't part of the picture anymore.

Thinking...
Raw

okay so reply to the landlord about the heater and tell him im home thursday after three um and ask about the parking spot

Cleaned

Okay, reply to the landlord about the heater and tell him I'm home Thursday after three, and ask about the parking spot.

The cleanup pass is where dictation stops being a transcript and starts being a draft. Get the words down fast by voice, let the AI tidy the punctuation and filler, and the text that lands is close to done. That holds whether you're answering an email, jotting a note, or writing a paragraph you'd otherwise type one finger at a time.

The same speak-then-clean flow works well beyond troubleshooting — you can also dictate clean prose into Apple Notes the same way, with one hotkey and an AI pass, so a long note becomes a few spoken sentences.

When the built-in is enough

A calm, tidy desk with a closed-down Mac, suggesting the fans have gone quiet

Sometimes corespeechd was a one-off — a half-finished update, a language model that hung — and after the relaunch or the reboot it goes quiet and stays quiet. If that's you, you're done. You don't need to install anything. Pretending otherwise would be dishonest, and I'm not going to tell you to add an app to fix a fan that's already stopped.

And if you only dictate short snippets — a quick reply, a two-line note — macOS Dictation is free, built in, and on Apple Silicon runs on-device for general text once the language is downloaded. Set it up in System Settings > Keyboard > Dictation, pick your language, and it types into any field you can put a cursor in. For a 30-word message, that's the right tool. Apple gives it to you for nothing; don't reach past it for a sentence.

Reach for a dedicated, system-wide tool when the built-in keeps hurting: corespeechd that won't settle no matter how many times you toggle Dictation, long-form dictation where Apple's accuracy and cleanup fall short, or wanting one hotkey that behaves the same in every app while keeping the OS speech daemon out of it entirely. Below that bar, use what's already on your Mac.

If the trouble is broader than corespeechd — Dictation that flat-out refuses to type — the wider fix list in when voice to text stops working on Mac covers the microphone, permission, and Voice Control checks that overlap with this one.

corespeechd is just macOS doing its speech homework, and most of the time the fix is to make it start the homework over. Relaunch it, toggle the feature feeding it, reboot if you must. If it keeps coming back, move your actual dictating to a tool that never asks the OS daemon for help in the first place. I wrote most of this with a hotkey, a quiet fan, and a corespeechd that, for once, had nothing to do.

Dictate without waking the speech daemon

Hold one hotkey, talk, release. A local engine does the transcription on your Mac — corespeechd stays asleep, the fans stay quiet.

Free local mode for any signed-in account. No card required to start.

Photo of Denys Medvediev

Denys Medvediev

I'm the one who reads our support email, most probably by dictating the replies.