Skip to content

Mac

Expansion not working on your Mac

Nine times out of ten this is one of the two macOS permissions — and the fix takes two minutes. Here's the whole map, including the cases where the switch looks on and still doesn't work.

Grant the two permissions

TypeDock needs exactly two macOS permissions — no Screen Recording, no Full Disk Access, no Automation. Keystrokes are matched on-device and never leave your Mac.

  1. Turn on Accessibility

    Accessibility lets TypeDock replace keywords and paste into the frontmost app. It gates keyword expansion, auto-paste after you pick a clip in the Quick Paste dock, the Paste Stack, the snippet palette’s paste, and the CLI’s --paste flag (see the CLI guide).

    System SettingsPrivacy & SecurityAccessibilityOpen Accessibility settings

    Turn TypeDock on in the list. This one flips live — the app sees it within a second, no restart needed.

  2. Turn on Input Monitoring

    Input Monitoring lets TypeDock detect the keyword as you type it. Without it, the typed keyword is never detected — granting only Accessibility looks done, but the tap stays dead.

    System SettingsPrivacy & SecurityInput MonitoringOpen Input Monitoring settings

    TypeDock must be turned on in both lists — one is not enough.

  3. Quit and reopen when TypeDock asks

    macOS applies Input Monitoring to an already-running app only after that app restarts. Since v1.6.3 TypeDock detects the lag itself: when the system says granted but the running app hasn’t caught up, the permission card — in onboarding and in SettingsPermissions — shows “Granted — restart to apply” with a Quit & Reopen TypeDock button. If you see it, that button is the only step left.

The switch is on but nothing happens

macOS records a grant against the app’s signing identity but shows the entry by its path — so a switch can look on while applying to something other than the copy you’re running. TypeDock ships a doctor that detects every known case:

SettingsPermissionsCheck Permissions Health…

The onboarding screen runs the same checks, and since v1.6.3 the doctor also appears on its own at launch when an update or move breaks a previously-working grant — once per cause, not a nag. Here is what each verdict means:

“Move TypeDock to Applications”

You opened TypeDock straight from the download, so macOS runs it from a temporary randomized folder — permissions can never stick there. Drag TypeDock into /Applications and open it from there. This is the single most common cause of “I keep re-granting it”; the install guide covers doing it right once.

“TypeDock is running from a disk image”

You’re still running off the mounted DMG, which is read-only. Drag TypeDock to /Applications, eject the DMG, and open it from Applications.

“More than one copy of TypeDock”

Permissions are granted per copy — granting one and opening another looks exactly like a broken permission. Keep the /Applications copy and delete the others; the doctor lists their paths.

“TypeDock’s permission entry is out of date”

The copy was updated or moved since the grant, so the System Settings entry no longer matches — the switch looks on but doesn’t apply. Use Repair Permissions, covered in the next section.

“TypeDock’s copy is damaged”

The signature doesn’t validate — usually an interrupted update — and macOS won’t honor grants for it. Download and install TypeDock again from typedock.app.

Reset the grants and start over

On v1.6.3 or later, open SettingsPermissionsCheck Permissions Health… — when the doctor reports “TypeDock’s permission entry is out of date”, it offers a Repair Permissions button that resets both grants and re-prompts — the scripted form of “remove the entry, add it back”. When the button isn’t offered, these two commands are the identical manual form:

No sudo needed — tccutil operates on your own grants. Then reopen TypeDock and grant both permissions again.

Everything reads granted and it’s still dead

Rarely, both switches are on, the doctor finds nothing, and typing still produces no expansion — macOS’s event-tap state itself is stuck. Work through this in order:

  1. Reset both grants

    Run the two tccutil commands above. (Repair Permissions only appears when the doctor detects an out-of-date entry — with everything reading granted, the commands are the move.)

  2. Quit and reopen TypeDock, then grant again

    Re-grant both permissions when the app asks.

  3. Restart the Mac

    If expansion still doesn’t work after re-granting, a restart reliably clears the stuck tap state.

Looks like a permission problem, isn’t one

Hotkeys and history need no permission. Clipboard capture and the global hotkeys — the Quick Paste dock on ⌃⌘V, the snippet picker on ⌘⌥S (both configurable), the Cheat Sheet on ⌘⌥Space(fixed) — work without either permission. So history filling up doesn’t prove your grants are healthy, and a hotkey misbehaving doesn’t mean they’re broken.

“Text copied — press ⌘V to paste.” That toast is the designed fallback, not a bug: without Accessibility, TypeDock can’t press ⌘Vfor you, but the text is already on your clipboard. The toast’s Enable Auto-Paste button opens the Accessibility pane directly.

Nothing expands in password fields. Expansion is intentionally suppressed while a password field is focused (secure input). That’s a privacy feature, not a permissions failure.

Quick answers

macOS records the grant against the app's signing identity, and it's granted per copy — so a copy that was updated, moved, or is running from the download or a DMG stops matching its entry. Keep TypeDock in /Applications, then open Settings ▸ Permissions ▸ Check Permissions Health… — when the doctor finds the out-of-date entry it offers Repair Permissions, which resets both grants so you re-grant once.

Related guides

Still stuck?

A human answers support@caffeinatedcode.co. Say what you tried from this guide — it skips a whole round trip.

Last updated 2026-07-29