CS2 binds tie a console command to a key, so one press can buy a rifle and armour, switch your gun hand or open a radio menu. Most CS:GO binds still work in CS2, with one big exception: since August 19, 2024 the game ignores binds that combine several movement or attack actions, which ended the classic jumpthrow bind. This guide covers how binding works now, the buy commands, and how to jump-throw without a script.
How to bind keys in CS2
The Keyboard / Mouse tab in Settings rebinds the standard actions. For anything else you need the developer console: set Settings > Game > Enable Developer Console to Yes, then press the ` key (the tilde key) to open it. Launch options such as -console turn the console on regardless of that setting.
A bind is the word bind, a key name and the command: bind "kp_1" "buy ak47". Wrap the command in quotes and separate several commands with semicolons. Without quotes the bind stops at the first semicolon.
Held actions come in pairs. The plus version, such as +jump or +attack, runs when the key goes down, and the minus version runs when it comes up. The menu uses friendlier names for the same commands: Jump is +jump, Fire is +attack, Secondary Fire is +attack2, and Walk on Shift is +sprint. Those internal names matter when you read Valve's restrictions below.
| Command | What it does |
|---|---|
bind <key> "<command>" | Binds a key |
unbind <key> | Clears one key |
unbindall | Clears every key |
binddefaults | Restores Valve's default keys |
key_listboundkeys | Lists every key that has a bind |
key_findbinding <command> | Shows which key runs a command |
alias <name> "<commands>" | Names a group of commands you can then bind |
Key names mostly match CS:GO, but the numpad changed: CS2 uses KP_0 to KP_9, KP_DIVIDE, KP_MULTIPLY, KP_MINUS, KP_PLUS, KP_DEL and KP_ENTER where CS:GO had names like KP_END and KP_DOWNARROW, so old configs need renaming. Since February 2024 binds also follow the physical key, after Valve made bindings "independent of input locales".
Some newer actions are single commands that the menu also lists: switchhands (H by default) moves your gun to the other hand for a while, toggleradarscale switches between two radar zoom levels, and clutch_mode_toggle silences voice and other distracting sounds until the round ends or you die.
CS2 buy binds
A buy bind runs one or more buy commands. Since October 4, 2023 the command looks for the named item in your loadout; if it isn't there, Valve's notes say, "the command will fail". That changes one old habit. In CS:GO buy m4a1 bought whichever M4 you carried, while in CS2 m4a1 is the M4A4 and m4a1_silencer the M4A1-S.
The failure rule helps too: a command for the other side's gun simply does nothing, so bind "kp_1" "buy ak47; buy m4a1_silencer" gets you the right rifle on either side. To buy by position instead, Valve added slot names such as buy secondary0, buy midtier1 and buy rifle2: the column, then the row counted from 0 at the top.
| Item | buy id |
|---|---|
| Kevlar Vest / Kevlar & Helmet | vest / vesthelm |
| Defuse Kit | defuser |
| Zeus x27 | taser |
| Smoke, flash, HE | smokegrenade, flashbang, hegrenade |
| Molotov / incendiary | molotov / incgrenade |
| AK-47 / M4A4 / M4A1-S | ak47 / m4a1 / m4a1_silencer |
| Galil AR / FAMAS | galilar / famas |
| AWP / SSG 08 | awp / ssg08 |
| Desert Eagle / R8 Revolver | deagle / revolver |
| Dual Berettas / P2000 / USP-S | elite / hkp2000 / usp_silencer |
Typing buy with nothing after it prints every accepted id. Commands in a bind run in order and each succeeds or fails on its own, so put the most important item first. A full buy on one key is fine, because buy isn't on Valve's restricted list: bind "kp_enter" "buy vesthelm; buy ak47; buy m4a1_silencer; buy smokegrenade; buy flashbang; buy defuser".

Two built-in commands do the same job: autobuy (F3 by default) and rebuy (F4) buy the lists stored in cl_autobuy and cl_rebuy. Since July 2, 2025 buy binds don't work during the halftime freeze. For what to buy in which round, see our CS2 economy guide.
Which multi-action binds Valve restricted
On August 19, 2024 Valve made the game ignore any bind that includes more than one of these commands: sprint, reload, attack, attack2, turnleft, turnright, turnup, turndown, forward, back, left, right, moveup, movedown, klook, use, jump, duck, strafe, zoom, yaw, pitch, forwardback and rightleft. The setting that turns them back on, cl_allow_multi_input_binds 1, is cheat-protected, so it only works with sv_cheats 1 on a server you control.
That rule catches null binds (scripts that cancel the opposite strafe key), jumpthrow binds, run-throw binds and crouch-jump binds that press +jump and +duck together. HLTV noted that it also ended step-jump-throws, used to throw advanced utility with exact precision. Valve said it wanted to stop automation "via scripting or hardware", and the same update began detecting hardware-assisted counter-strafing on official servers, with a kick from the match. Our Snap Tap article covers that decision.
Binds made of other commands, such as buy, chat or radio binds, are unaffected, and so is a bind with only one of the listed actions. Valve even shipped "stability improvements when using multi-command input binds" in August 2025.
How to jump-throw in CS2 without a bind
A jump-throw releases a grenade at the same point of a jump every time, so it flies the same path and lands in the same spot. Many smoke line-ups depend on it. CS:GO players used an alias bind that jumped and released the grenade in one press, and Dexerto called such a bind essential in CS:GO's competitive matches.
| Date | Change |
|---|---|
| March 22, 2023 | As the Limited Test began, CS2's official account said jump-throws are "possible and consistent without a bind" |
| March 30, 2023 | A player-only sound confirms a correctly timed jump-throw |
| June 6, 2023 | Multi-command binds restored, "except for jump-throw binds" |
| August 19, 2024 | Multi-action binds ignored by default; the jump-throw grunt becomes audible to nearby players |
| November 13, 2024 | The grenade preview camera shows the result of a jump-throw while jump is held |
| May 18, 2026 | Jump-throws made more consistent, and the preview camera more accurate |
Jump-throw binds were in wide use anyway: HLTV wrote in August 2024 that they had "become prevalent in both professional and casual play". Valve's answer was that it had made jump-throws reliable "by jumping and quickly throwing a grenade".

So do it by hand. Hold Fire to pull the pin, line up, press Jump and let go of the mouse button straight after. When the timing counts, your character grunts, and nearby players hear it too. For how CS2 handles the timing of inputs between server ticks, see our sub-tick article.
Practise on an offline map or a private server first, set up as in our CS2 practice commands guide. There you can also switch cl_allow_multi_input_binds on to compare an old line-up with your manual throw, but the bind won't work once you queue for a match.
Sources
- Side-stepping Skill — Counter-Strike 2 news
- Release Notes for 8/19/2024 — Counter-Strike 2 news
- Release Notes for 10/4/2023 — Counter-Strike 2 news
- Counter-Strike 2 Update (May 18, 2026) — Counter-Strike 2 news
- Valve take stance against Snap Tap-like features, remove jump-throw binds — HLTV.org
- CS2 jump throw bind: How to jump throw in Counter-Strike 2 — Dexerto
- Converting CS:GO buy binds to CS2 — Steam Community guide
- CS2 command dump (commands.txt) — GameTracking-CS2 on GitHub



