Command Keys
Modby NotRyken
Send pre-written messages and commands using hotkeys.
Type
Mod
CurseForge Downloads
146,017
CurseForge ID
873388
Modrinth Downloads
2,451,503
Modrinth ID
65UyswbY
Last Updated
Jul 27, 2026
Description
### Usage
#### Profiles
Automatic Switching
- When you join a world/server, the name/address will be checked against the list of profiles. If
there is a profile linked to that world/server, it will be activated. Otherwise, the default
profile will be used.
- Use the `S` and `M` buttons to make a profile the default for singleplayer or multiplayer.
Manual Switching
- To activate a profile manually, click the up-arrow button on the left.
- Click the link button to link the profile to the world/server for future automatic activation.
- Click the settings button to rename the profile or remove links.
#### Macros
Access
- Edit a profile by clicking the large button on the profile selection screen, or by pressing the
edit key
(default: `K`) in-game.
Binding Keys
- You can bind almost any keyboard key or mouse button to a macro, similar to Minecraft's own
Controls. However, you can also bind any *pair* of keys; just press one while holding the other (
e.g. press 'T' while holding
'Shift').
Conflict Strategy
- If a key is already in use by Minecraft, you can choose a conflict strategy;
- `Submit`: The macro will be ignored, the Minecraft keybind will function normally.
- `Assert`: The macro and the Minecraft keybind will both function.
- `Veto`: The macro will function, the Minecraft keybind will be cancelled (if possible).
- `Avoid`: The macro will not work in-game, but you can still activate it by pressing the key
while on the edit screen (with nothing selected). For example, if you have a macro bound to `W`,
press `K` then `W` to activate it.
Send Mode
- `Send`: All commands for the macro will be sent. You can configure delays between commands.
- `Type`: The first command will be typed into the chat box, but not sent.
- `Edit`: A GUI will be shown to allow you to enter a replacement for the `%edit%` placeholder, then
the first message will be sent.
- `Cycle`: The commands will be cycled through, with one command sent each time you press the key.
- Note: In `Cycle` mode, if you need more than one command to be sent for a single key-press, enter
those commands into a single box, separated by pairs of commas (e.g.
`/tick freeze,,/say Stopped`).
- `Random`: A message will be chosen at random and sent each time the key is pressed.
- `Repeat`: Like `Send`, but the macro will be repeated (delay is configurable) until you press the
key again.
Placeholders
- Simple Placeholders
- `%lastsent%`: The most recently-sent message or command in history, if any.
- `%lastcmd%`: The most recently-sent command in history, if any.
- `%clipboard%`: The contents of the clipboard, if any.
- `%myname%`: Minecraft username.
- `%pmsender%`: The name of the sender of the most recently-received private message, if any. (
Searches max of 50).
- `%pos%`: The integer coordinates of the player (`x y z`).
- `%x%`: The integer X coordinate of the player. Also available for Y and Z.
- `%lpos%`: The integer coordinates of the block the player is looking at, if any. Also provides
`%lx%`, `%ly%`,
`%lz%`.
- Regex Placeholders
- `%#(.*)%`: Regex Group 1 from the most recently-received message matching the regex following
the `#`, if any. Note: regex pattern must have at least 1 capturing group.
- `%clipboard#(.*)%`: The contents of the clipboard, if any, verified to match a regex pattern
following the
`#`. This can be used to prevent unintentional exposure of clipboard contents. E.g. use
`%clipboard#^-?\d+ -?\d+ -?\d+$%` to only send the clipboard contents if it's formatted like a
set of coordinates.
- `%pos([FBLR])(\d+)%`: `%pos%` but offset some number of blocks in a direction relative to the
cardinal direction that the player is nearest to facing. E.g. use `%posL20%` to get the
coordinates 20 blocks to the player's left.
- `%x([+-]\d+)%`: `%x%` but offset some number of blocks. E.g. use `%x-10%` to get the X
coordinate 10 blocks to the player's West. Also available for Y and Z.
- `%lpos([FBLR])(\d+)%`: As per `pos` above but for the block the player is looking at, if any.
- `%lx([+-]\d+)%`: As per `x` above but for the block the player is looking at, if any.
### Dependencies
Fabric: [Fabric API](https://modrinth.com/project/P7dR8mSH), [ModMenu](https://modrinth.com/project/mOgUt4GM)
NeoForge: None
### Compatibility
If you encounter issues, please report on Discord or GitHub.
### Contact
[](https://discord.terminalmc.dev)
[](https://github.com/TerminalMC/CommandKeys/issues)
[](https://github.com/TerminalMC/CommandKeys/blob/HEAD/LICENSE.txt)
Discord @notryken for MDZ
Compatibility
Mod Loaders
Fabric
Forge
Neoforge
Quilt
Game Versions
1.19.3
1.19.4
1.20
1.20.1
1.20.2
1.20.3
1.20.4
1.20.5
1.20.6
1.21
+16 more
Screenshots
Similar Mods
Crawl (Fabric/NeoForge)
Allows you to crawl
Mod
25,878,563
Realistic Torches
Makes torches burn out after a configurable amount of time.
Mod
25,848,653
Enchanting Infuser
An all-new enchanting table for choosing your enchantments at fair prices without the randomness.
Mod
25,810,752
Quick Leaf Decay
Makes leafs decay faster
Mod
25,803,086
Tiny Skeletons
Teeny, tiny skeletons, send shivers down your spine...
Mod
25,776,521
Stylish Effects
Status effect display overhaul: Display them in any menu! And way more compact.
Mod
25,758,634
Included in Modpacks
EinsEinundzwanzigElf
Kart's Chaotic Kit
RedstoneToolkit
Builders Essentials
PurpleSMP
Knabbiiicraft 7
T.MOD
Schleichi's Mods
Buildering
Semarina
Nolann's ModPack
MineboxModPack
JS Life+
Server-Modpack-Pvp
CreatorCraft 2
HolyWorld FPS+
Dev Relief
Funtime FPS+
SeasonCraft Client-Side Modpack
Crazy Adventure
The 100 Year Video Game
Vulkan Chapter Of Potato PVP
GSZYpack
ImagineFun Add-Ons
Stratum
Fiyrthgu's Hypixel Skyblock Modpack
My Ice Boat Racing Modpack