How to make a craft bind in Rust

One key that queues a whole loadout. This is everything the craft.add console command does, the parts of it that trip people up, and how to build a line you can paste straight into F1.

Medical Syringe item icon from Rust

I wrote this guide after building the bind maker, which meant reading everything Facepunch has published about bind and testing the edge cases against the game. Most of what follows is that testing written down — including the crafts-versus-items mistake, which I made myself with pistol ammo before I understood why the queue kept handing me four times what I asked for.

Crafting in Rust is a lot of clicking. Opening the crafting menu, finding the item, setting a quantity, repeating it for every piece of a kit — it is slow, and it is slowest exactly when you can least afford it, which is the thirty seconds after you respawn. A craft bind collapses all of that into a single keypress.

Binds are a stock feature of the Rust console. Nothing here is a mod, a macro, or a third-party program that replays input — it is one console command that ships with the game.

The two commands involved

A craft bind is really two commands stacked together. The first is craft.add, which queues something into your crafting menu:

craft.add -1685290200 1

That takes two arguments: an item ID and a number of crafts. Typed on its own in the console it queues the item once, immediately. The second command is bind, which attaches any console command to a key:

bind numpad3 craft.add -1685290200 1

Now numpad 3 queues a craft of 12 gauge buckshot every time you press it. That is the whole mechanism. Everything below is detail on top of those two lines.

Where item IDs come from

Rust identifies every item by a signed 32-bit number. They are not sequential, they are frequently negative, and there is no pattern to them — -1685290200 is buckshot, 1079279582 is a syringe. You cannot guess one, and using the wrong one silently queues the wrong item.

There are 1,264 of them. We keep the full list on the item ID reference, one page per item, each with the ID, the short name, the crafting recipe and a ready-made bind. If you would rather not look anything up, the bind maker searches them by name and writes the ID into the command for you.

Short names are not item IDs. Rust also gives every item a short name like ammo.shotgun. Those work with server-side commands such as inventory.give, but craft.add wants the numeric ID.

The number is crafts, not items

This is the single most common mistake, and it is not obvious from the command. The second argument to craft.add is how many times to run the recipe, not how many items you end up holding.

Most items craft one at a time, so for them the distinction never comes up. But plenty of items come out in batches. One craft of 12 gauge buckshot produces 2 shells. One craft of pistol bullets produces 4 rounds. So:

craft.add 785728077 7

… is seven crafts of pistol bullets, which is 28 rounds, not 7. If you wanted roughly 25 rounds, seven crafts is the right answer and you get three spare. If you typed 25 expecting 25 rounds you would have queued 100.

Our craft yields guide lists every item in the game that produces more than one per craft. The bind maker handles the conversion automatically: you enter the number of items you actually want, and it emits the smallest number of crafts that reaches it.

Putting several items on one key

Console commands chain with semicolons, and bind accepts the whole chain as one argument. That is what turns a craft bind into a loadout bind:

bind numpad3 craft.add 1079279582 6;craft.add -2072273936 6;craft.add 785728077 7

Six syringes, six bandages and 28 pistol rounds, in the order written, from one press. The practical limit on chain length is readability, not the game: a very long line is painful to retype if you get one digit wrong.

Order matters in one respect. The crafting queue processes in the order it was added, so put the thing you need first, first.

Choosing a key

Rust accepts a specific set of key tokens, and they are not always what you would guess — it is numpad3, not num3 or kp3. We keep the full list of 114 bindable keys with the exact spelling for each.

The numpad is the usual home for craft binds, for a practical reason: those keys are not bound to anything by default and are nowhere near the movement keys, so a misfire during a fight is unlikely. Function keys F2 through F12 are the other common choice.

Avoid binding over a key you actually use. Overwriting w with a craft command means w no longer walks forward, and the cause is not obvious in the moment.

Modifier combinations

If you are out of free keys, Rust supports a two-key form using square brackets:

bind [leftshift+k] craft.add -1685290200 5

The documented modifiers are leftshift, rightshift, leftcontrol, rightcontrol and leftcommand. The combination form leaves the plain key free — binding [leftshift+k] does not disturb whatever k already does.

Changing and removing a bind

To change a bind, just bind the key again. The new line replaces the old one and there is no need to clear it first.

To remove one, run bind with the key and nothing after it:

bind numpad3

That clears whatever was on numpad 3 and hands the key back to the default it had, if it had one.

Where binds are stored

Binds are written to the client config, in cfg/keys.cfg inside your Rust installation folder, and they persist across sessions and servers. You set a craft bind once and it is still there next wipe.

Two consequences worth knowing. Because it is a plain text file, a bind you spent time building can be backed up by copying that file somewhere safe. And because verifying game files or reinstalling can reset it, binds vanishing after an update is usually explained by that rather than by anything you did.

What a craft bind does not do

Worth being precise about, because craft.add is sometimes described as though it bypasses something. It does not.

  • It respects blueprints. If you have not learned the item, the craft does not queue.
  • It respects workbench level. Away from the required bench it fails exactly the way clicking the item in the menu would.
  • It respects resources. The command queues crafts; the crafts still cost the materials they always did.
  • It is client side. Nothing reaches the server that would not be sent by crafting through the menu, which is why binds work on any server without permission.

A craft bind saves you clicks and nothing else. That is the entire appeal, and it is also why it is uncontroversial.

Troubleshooting

Nothing happens when I press the key

Check the key token spelling first. A typo fails silently, because Rust binds a key that does not exist rather than complaining. Then check that you have the blueprint and are in range of the right workbench.

I get far more items than I asked for

You have hit the crafts-versus-items distinction above. Divide what you wanted by the craft yield, and round up.

The console rejects the line

Usually a missing space between the item ID and the quantity, or a semicolon padded with spaces in a way that split the chain. The safest fix is to build the line with the bind maker and copy it whole.

A worked example

Say you want a med-and-ammo key: six syringes, six bandages, and enough pistol ammo for a fight. Pistol bullets craft 4 at a time, so 25 rounds means 7 crafts.

bind numpad3 craft.add 1079279582 6;craft.add -2072273936 6;craft.add 785728077 7

Press F1, paste, press enter, close the console. From then on numpad 3 queues the set. There are more ready-made examples in the loadout bind guide.

If you would rather not assemble the line by hand, the bind maker does the item lookup, the yield maths and the chaining, and gives you the finished line to copy.