Last active
April 11, 2026 11:35
-
-
Save ericdodds/66c970ce92561c2dd25f8efcd77830d8 to your computer and use it in GitHub Desktop.
Karabiner Elements: Command + Enter for Warp, Claude, etc.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "description": "Swap Enter and Cmd+Enter in chat-style apps (Warp, Claude), disable during Raycast", | |
| "manipulators": [ | |
| { | |
| "description": "Cmd+Space (Raycast launcher): pass through and set raycast_open flag", | |
| "from": { | |
| "key_code": "spacebar", | |
| "modifiers": { "mandatory": ["left_command"] } | |
| }, | |
| "to": [ | |
| { | |
| "key_code": "spacebar", | |
| "modifiers": ["left_command"] | |
| }, | |
| { | |
| "set_variable": { | |
| "name": "raycast_open", | |
| "value": 1 | |
| } | |
| } | |
| ], | |
| "type": "basic" | |
| }, | |
| { | |
| "description": "Opt+Cmd+C (Raycast clipboard history): pass through and set raycast_open flag", | |
| "from": { | |
| "key_code": "c", | |
| "modifiers": { "mandatory": ["left_command", "left_option"] } | |
| }, | |
| "to": [ | |
| { | |
| "key_code": "c", | |
| "modifiers": ["left_command", "left_option"] | |
| }, | |
| { | |
| "set_variable": { | |
| "name": "raycast_open", | |
| "value": 1 | |
| } | |
| } | |
| ], | |
| "type": "basic" | |
| }, | |
| { | |
| "description": "Ctrl+Cmd+E (Raycast emoji picker): pass through and set raycast_open flag", | |
| "from": { | |
| "key_code": "e", | |
| "modifiers": { "mandatory": ["left_command", "left_control"] } | |
| }, | |
| "to": [ | |
| { | |
| "key_code": "e", | |
| "modifiers": ["left_command", "left_control"] | |
| }, | |
| { | |
| "set_variable": { | |
| "name": "raycast_open", | |
| "value": 1 | |
| } | |
| } | |
| ], | |
| "type": "basic" | |
| }, | |
| { | |
| "description": "Ctrl+Opt+A (Raycast Arc tabs): pass through and set raycast_open flag", | |
| "from": { | |
| "key_code": "a", | |
| "modifiers": { "mandatory": ["left_control", "left_option"] } | |
| }, | |
| "to": [ | |
| { | |
| "key_code": "a", | |
| "modifiers": ["left_control", "left_option"] | |
| }, | |
| { | |
| "set_variable": { | |
| "name": "raycast_open", | |
| "value": 1 | |
| } | |
| } | |
| ], | |
| "type": "basic" | |
| }, | |
| { | |
| "description": "Ctrl+Cmd+/ (Raycast open with): pass through and set raycast_open flag", | |
| "from": { | |
| "key_code": "slash", | |
| "modifiers": { "mandatory": ["left_command", "left_control"] } | |
| }, | |
| "to": [ | |
| { | |
| "key_code": "slash", | |
| "modifiers": ["left_command", "left_control"] | |
| }, | |
| { | |
| "set_variable": { | |
| "name": "raycast_open", | |
| "value": 1 | |
| } | |
| } | |
| ], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "raycast_open", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "description": "Escape while Raycast is open: pass through and clear raycast_open flag", | |
| "from": { "key_code": "escape" }, | |
| "to": [ | |
| { "key_code": "escape" }, | |
| { | |
| "set_variable": { | |
| "name": "raycast_open", | |
| "value": 0 | |
| } | |
| } | |
| ], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "raycast_open", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "description": "Enter while Raycast is open: pass through (select item) and clear raycast_open flag", | |
| "from": { "key_code": "return_or_enter" }, | |
| "to": [ | |
| { "key_code": "return_or_enter" }, | |
| { | |
| "set_variable": { | |
| "name": "raycast_open", | |
| "value": 0 | |
| } | |
| } | |
| ], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "bundle_identifiers": [ | |
| "dev\\.warp\\.Warp-Stable", | |
| "com\\.anthropic\\.claudefordesktop" | |
| ], | |
| "type": "frontmost_application_if" | |
| }, | |
| { | |
| "name": "raycast_open", | |
| "type": "variable_unless", | |
| "value": 1 | |
| } | |
| ], | |
| "description": "Enter in Warp/Claude (swap active): remap to Shift+Enter to insert newline", | |
| "from": { "key_code": "return_or_enter" }, | |
| "to": [ | |
| { | |
| "key_code": "return_or_enter", | |
| "modifiers": ["left_shift"] | |
| } | |
| ], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "bundle_identifiers": [ | |
| "dev\\.warp\\.Warp-Stable", | |
| "com\\.anthropic\\.claudefordesktop" | |
| ], | |
| "type": "frontmost_application_if" | |
| } | |
| ], | |
| "description": "Cmd+Enter in Warp/Claude: remap to bare Enter to execute/send, also clears raycast_open as safety net", | |
| "from": { | |
| "key_code": "return_or_enter", | |
| "modifiers": { "mandatory": ["left_command"] } | |
| }, | |
| "to": [ | |
| { "key_code": "return_or_enter" }, | |
| { | |
| "set_variable": { | |
| "name": "raycast_open", | |
| "value": 0 | |
| } | |
| } | |
| ], | |
| "type": "basic" | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment