Karabiner continuously retries background service registration

Author: z11iCreated Sep 17, 2026Updated Sep 17, 2026

Details

Environment

  • macOS 26.6.2
  • Karabiner-Elements 16.3.2

Problem

Karabiner continuously tries to register its background services, even though those services are already running.

The registration attempts repeat every second, with an additional attempt approximately every three seconds. Each attempt makes macOS inspect Karabiner’s applications, service definitions, and signatures again, creating continuous background activity.

This continues after:

  • A clean reinstall
  • Restarting macOS
  • Upgrading from 16.3.0 to 16.3.2
  • Closing the Karabiner settings application

Karabiner’s own status tool reports all its background services as notFound, while launchctl shows the same services running and managed by macOS.

The existing filename and service-name mismatch also remains:

File: org.pqrs.service.agent.Karabiner-Core-Service.plist

Service name inside the file: org.pqrs.service.agent.Karabiner-Core-Service-rev2

Karabiner 16.2.0 added cleanup for an older version of this service. That older service no longer appears to be loaded, but the repeated checks and registration attempts still continue.

This may therefore be another cause of the same behavior reported in #4496 and #4518.

Evidence and reproduction

  • Karabiner starts new copies of its service helpers about once per second, with new process IDs each time.
bash
  > sudo /usr/bin/log show --last 30s --style compact \
      --predicate '(process == "Karabiner-Elements Privileged Daemons v2") OR (process == "Karabiner-Elements Non-Privileged Agents v2")' \
      | grep 'Service.*status'

  22:48:55 Karabiner-Elements Privileged Daemons v2[10031] Service ... status: 1
  22:48:55 Karabiner-Elements Non-Privileged Agents v2[10032] Service ... status: 1
  22:48:56 Karabiner-Elements Privileged Daemons v2[10034] Service ... status: 1
  22:48:56 Karabiner-Elements Non-Privileged Agents v2[10035] Service ... status: 1
  22:48:57 Karabiner-Elements Privileged Daemons v2[10036] Service ... status: 1
  22:48:57 Karabiner-Elements Non-Privileged Agents v2[10037] Service ... status: 1
  • The helpers repeatedly call Register. The calls report success (error: 0), but registration is attempted again seconds later.
bash
  > sudo /usr/bin/log show --last 30s --style compact \
      --predicate '(process == "Karabiner-Elements Privileged Daemons v2") OR (process == "Karabiner-Elements Non-Privileged Agents v2")' \
      | grep 'Register'

  22:48:45 Karabiner-Elements Privileged Daemons v2[9976] Register ... error: 0
  22:48:45 Karabiner-Elements Non-Privileged Agents v2[9977] Register ... error: 0
  22:48:53 Karabiner-Elements Privileged Daemons v2[10014] Register ... error: 0
  22:48:53 Karabiner-Elements Non-Privileged Agents v2[10015] Register ... error: 0
  • Karabiner reports its services as missing even though macOS shows them running.
bash
  > "/Library/Application Support/org.pqrs/Karabiner-Elements/Karabiner-Elements Non-Privileged Agents v2.app/Contents/MacOS/Karabiner-Elements Non-Privileged
  Agents v2" status

  LaunchAgent(org.pqrs.service.agent.Karabiner-Core-Service.plist) notFound
  LaunchAgent(org.pqrs.service.agent.Karabiner-Console-User-Server.plist) notFound
  LaunchAgent(org.pqrs.service.agent.Karabiner-MultitouchExtension.plist) notFound
bash
  > launchctl print "gui/$(id -u)/org.pqrs.service.agent.Karabiner-Core-Service-rev2" | grep -E 'state|managed_by'

  managed_by = com.apple.xpc.ServiceManagement
  state = running

Expected behavior

Once Karabiner’s background services are installed and running, it should stop trying to register them repeatedly.

Actual behavior

Karabiner repeatedly launches its service-registration helpers, causing continuous work in backgroundtaskmanagementd.

Source: pqrs-org/Karabiner-Elements