BTT crashing after latest MacOS update 15.6.1 (24G90)

Describe the bug

I use BTT for trackpad 3 finger click as middle click and to remap caps lock to option+control (like a custom hyperkey). It was working fine up until I updated macOS to the latest version, and now it's crashing after every caps lock press.

I don't notice it happening with the trackpad 3 finger click though.

After having this issue, I tried updating BTT to the latest alpha, but still happening.

According to perplexity this is a stack overflow error.

I wish I hadn't updated macOS!


Device information:

  • Type of Mac: 14" Macbook Pro M3 Pro
  • macOS version: 15.6.1 (24G90)
  • BetterTouchTool version: (please post the exact version - not just "the latest one"):

BetterTouchTool 5.593 is currently the newest version available.
(You are currently running version 5.600.)

Additional information (e.g. crash logs, related issues, etc.):

Attached as txt (too long to put here)
btt crash log.txt (107.0 KB)

Something in your setup is causing a recursive endless loop, which eventually crashes BTT.

Do you know what exactly is being triggered before the crash? (It seems to be a key sequence)
Maybe you have a key sequence that triggers on option and somehow triggers option again?

Here's what I have, and this was all working fine before the MacOS update.

I'm remapping caps lock to no key, and then I have a key sequence to map caps lock to option+control key down, and then same for key up. This was the method I saw someone mention online to do this.

The issue seems to be with the key sequences, but I'm not sure how to fix it and still get the same outcome.

I want caps lock to be a modifier key for option+control that I use for various keyboard shortcuts (mainly through raycast). I want to disable the default caps lock behavior as I never use it, and I find the light on the macbook keyboard annoying.

could you copy & paste the key sequences here ? (select in BTT, cmd+c, then paste here)

Sure, here's all 3 related to the caps lock key.

[
{
"BTTLastUpdatedAt" : 1757441680.38695,
"BTTTriggerType" : 805,
"BTTTriggerTypeDescriptionReadOnly" : "Remap Keyboard Key: caps_lock => no_key",
"BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
"BTTUUID" : "59C60811-E047-4C67-9299-AA9A8F1B85EC",
"BTTShortcutToSend" : "30064771129",
"BTTKeyRemapFromKey" : "30064771129",
"BTTKeyRemapToKey" : "30064771072",
"BTTOrder" : 3
}
]

[
{
"BTTLastUpdatedAt" : 1757443694.3487248,
"BTTTriggerType" : 624,
"BTTTriggerTypeDescriptionReadOnly" : "Please Select a Trigger ",
"BTTTriggerClass" : "BTTTriggerTypeKeySequence",
"BTTUUID" : "658F090E-E615-4F10-BCF3-239B64847704",
"BTTOrder" : 5,
"BTTActionsToExecute" : [
{
"BTTLastUpdatedAt" : 1755116941.388134,
"BTTTriggerParentUUID" : "658F090E-E615-4F10-BCF3-239B64847704",
"BTTIsPureAction" : true,
"BTTTriggerClass" : "BTTTriggerTypeKeySequence",
"BTTUUID" : "405B28B0-1556-4D95-9989-BC359BA73984",
"BTTPredefinedActionType" : 184,
"BTTPredefinedActionName" : "⌥ Opt Key Down",
"BTTOrder" : 31
},
{
"BTTLastUpdatedAt" : 1755116941.3885021,
"BTTTriggerParentUUID" : "658F090E-E615-4F10-BCF3-239B64847704",
"BTTIsPureAction" : true,
"BTTTriggerClass" : "BTTTriggerTypeKeySequence",
"BTTUUID" : "6C925A04-DF7C-45CA-8D47-698CCE9948A6",
"BTTPredefinedActionType" : 182,
"BTTPredefinedActionName" : "⌃ Ctrl Key Down",
"BTTOrder" : 32
}
],
"BTTKeySequence" : {
"BTTKeySequenceAllowContinueFor" : 0,
"BTTPauseBetween" : 0.29999999999999999,
"BTTKeyCount" : 1,
"BTTKeyboardType" : 13741,
"BTTKeySequenceDownKeys" : [
{
"BTTKEYCharacter" : " ",
"BTTKEYCode" : 2057,
"BTTKEYDown" : 1,
"BTTKEYOrderRelevant" : 1,
"BTTKEYRequired" : 1
}
],
"BTTKeySequenceMixedKeys" : [
{
"BTTKEYCharacter" : " ",
"BTTKEYCode" : 2057,
"BTTKEYDown" : 1,
"BTTKEYOrderRelevant" : 1,
"BTTKEYRequired" : 1
}
]
}
}
]

[
{
"BTTLastUpdatedAt" : 1757441815.2573061,
"BTTTriggerType" : 624,
"BTTTriggerTypeDescriptionReadOnly" : "Please Select a Trigger ",
"BTTTriggerClass" : "BTTTriggerTypeKeySequence",
"BTTUUID" : "4C2AEB1F-8464-4646-BC44-E064B267311A",
"BTTOrder" : 7,
"BTTActionsToExecute" : [
{
"BTTLastUpdatedAt" : 1755116941.3943501,
"BTTTriggerParentUUID" : "4C2AEB1F-8464-4646-BC44-E064B267311A",
"BTTIsPureAction" : true,
"BTTTriggerClass" : "BTTTriggerTypeKeySequence",
"BTTUUID" : "AE5EBA72-0107-4B9A-AF74-25BFD36FFC13",
"BTTPredefinedActionType" : 185,
"BTTPredefinedActionName" : "⌥ Opt Key Up",
"BTTOrder" : 32
},
{
"BTTLastUpdatedAt" : 1755116941.3947279,
"BTTTriggerParentUUID" : "4C2AEB1F-8464-4646-BC44-E064B267311A",
"BTTIsPureAction" : true,
"BTTTriggerClass" : "BTTTriggerTypeKeySequence",
"BTTUUID" : "BEE8A51A-82EC-4E56-A80B-3945A61FA2B6",
"BTTPredefinedActionType" : 183,
"BTTPredefinedActionName" : "⌃ Ctrl Key Up",
"BTTOrder" : 33
}
],
"BTTKeySequence" : {
"BTTKeySequenceAllowContinueFor" : 0,
"BTTPauseBetween" : 0.29999999999999999,
"BTTKeyCount" : 1,
"BTTKeyboardType" : 13741,
"BTTKeySequenceMixedKeys" : [
{
"BTTKEYCharacter" : " ",
"BTTKEYCode" : 2057,
"BTTKEYRequired" : 1
}
],
"BTTKeySequenceUpKeys" : [
{
"BTTKEYCharacter" : " ",
"BTTKEYCode" : 2057,
"BTTKEYRequired" : 1
}
]
}
}
]

weird, it doesn't seem to crash here. Could you try to make the order relevant in the caps lock up trigger?

Well that did help. It doesn't seem to be crashing now, but it's still not working properly. Now after I use caps lock, it seems to keep the control+option buttons held down even after I release.

Do I need to adjust some setting related to the various time sliders or something?

no, these should not matter for this.

Weird, I'll do some experiments. I now know where the crash is happening but I can't explain why yet.

1 Like

cheers, thanks for the help.

Let me know if there's another way I can implement this. I have a ton of shortcuts that rely on this and it's tanking my productivity since I updated macos yesterday :frowning:

I wonder whether something is wrong with the remapping part. Possibly a permission issue

Could you try to create a new key sequence and just press caps lock and see what it shows? It should be this:

And not this:

This is what I see. Permissions issue would make sense as that could be related to the OS update. What do I need to change?

interesting. This doesn’t look like a permission issue but might have given me some idea… let’s see

v5.601 should at least prevent the crash. (now available)

Actually your screenshot looks pretty good - it does seem to send the key down events when pressing caps lock down and the key up events when releasing caps lock.
You are sure the keys still continue to be pressed? Maybe they were still pressed from a previous attempt?

I went ahead and updated to the latest alpha version and the crashing isn't happening anymore, but the stuck keys still are.

I verified with mac's keyboard viewer. If I just press caps lock on it's own it doesn't happen, but if I do for example caps lock + 1, which I have as a shortcut for Perplexity, then the option and control keys get stuck.

Is this related to a setting?

It appears if I press and hold caps lock, and then press any other key, then release caps lock after that, it will keep the option+control keys pressed down.

EDIT: actually, I noticed it matters if it's simultaneous press and release or delayed. If I press caps lock + 1 together and release them together simultaneously, there's no issue. But if I release 1 first, then the caps lock key, they get stuck.

This makes using all my keyboard shortcuts very annoying, as I have to remember to press caps lock a 2nd time by itself after any shortcuts.

do you currently have the order relevant checkbox active or disabled?

it's enabled for both the caps lock key down and key up. wasn't that what you had suggested yesterday?

Ok I just tried disabling it for the caps lock key up, and it seems to be working!

I have no idea if anything actually changed from my initial setup now, so maybe this was just a bug with the OS update after all?

hopefully this is all fixed now and I don't have any more issues. Thanks for your help @Andreas_Hegenberg !

the BTT alpha fixed the recursion that might have happened since the update. So now you’re back to how it was before :+1:

1 Like