# Coexisting with Karabiner-Elements

> How Capslock detects Karabiner-Elements and other remappers, what counts as a conflict, and how to move from the Karabiner configuration.

---

LLMS index: [llms.txt](/llms.txt)

---

Capslock needs Caps Lock and the F18 key to itself. It never edits, disables,
or uninstalls Karabiner-Elements or any other tool. When something else
already uses those keys, Capslock refuses to start and tells you what to
change.

## What counts as a conflict {#conflicts}

- **A system key remap of Caps Lock.** If another tool has remapped Caps Lock,
  Diagnostics shows "Caps Lock is used by another tool".
- **Another use of F18.** If anything remaps a key to or from F18, Diagnostics
  shows "F18 is already in use".
- **A Karabiner-Elements rule.** When Karabiner-Elements is running, Capslock
  reads the selected profile and looks for rules that start from Caps Lock or
  F18, or that produce F18. It reports only how many it found, never their
  names or contents.

Karabiner-Elements can keep running for everything else. Only rules on Caps
Lock and F18 conflict.

## Resolving a Karabiner conflict {#resolve}

1. Open Karabiner-Elements › Complex Modifications.
2. Turn off the rule that starts from Caps Lock (such as "CapsLock to Hyper"),
   or switch to a profile without it.
3. Return to Capslock and click **Try Again** on Home or in Diagnostics.
{.steps}

Diagnostics has an **Open Karabiner-Elements** button for step 1. Capslock
checks again every time you switch back to it, so a conflict that appears later
stops Capslock and gives Caps Lock back rather than leaving two tools fighting
over it.

## Moving from the Karabiner configuration {#migrate}

The native app ships the same Capslock Classic layout, so you do not need to
bring anything across to keep the bindings you know. A few things work
differently:

- Tapping Caps Lock sends Escape. `⇪ Space` sends ⌃Space for switching input
  source.
- You choose a [Hyper mode](/docs/guide/hyper-mode/). Classic, the default,
  still holds the right-side ⌃⌥⇧⌘ for apps that listen for Hyper.
- Clipboard slots are stored encrypted inside Capslock. Files such as
  `~/.clip6` from the Karabiner setup are not read.
- Apps are opened by bundle ID, not through `open -a` in a shell.
- Changes you made to your own Karabiner JSON are not imported. Recreate them
  in the [keyboard editor](/docs/guide/editor/).

When you are ready, turn off the Capslock rules in Karabiner-Elements as
described above, then start Capslock. The Karabiner configuration itself stays
documented in the [Karabiner Edition](/docs/karabiner/) if you want to go back.

---

Backlinks:

- [Karabiner Edition](/docs/karabiner/)
- [Diagnostics and recovery](/docs/reference/diagnostics/)
- [FAQ](/docs/reference/faq/)
- [Install and first run](/docs/start/install/)
- [Download](/download/)
