Best CS2 Binds: Useful Keybind Commands for 2026

A smoke key is useful when you’re backing out of a fight and don’t want to cycle through three grenades to find it. A script that jumps and throws for you is a different thing. This list covers the ordinary controls worth putting within reach, with the old automated shortcuts clearly marked to leave out.

Safe means ordinary controls or purchases for official matches. Practice Only means a session you host or have permission to use, sometimes with sv_cheats 1. Entries marked Avoid are blocked combinations or macros that conflict with Valve or FACEIT rules.

CS2 Binds A clear key layout

Before binding keys in CS2, see what those keys already do and keep a readable copy of the new layout. The useful assignment is one you can reach comfortably.

Quick Reference

Start with the action that keeps getting in your way, rather than replacing every key at once. These are example assignments to adapt. Do not copy the jump-throw row; it shows the kind of script to avoid.

Purpose Exact command Status What it does
HE grenade bind "z" "slot6" Safe Selects the HE grenade slot.
Flashbang bind "x" "slot7" Safe Selects the flashbang
Smoke bind "c" "slot8" Safe Equips your smoke grenade if you have one.
Fire grenade bind "mouse4" "slot10" Safe Equips your team’s Molotov or incendiary grenade.
Jump bind "mwheeldown" "+jump" Safe Sends a jump input when the wheel scrolls down.
Previous item bind "q" "lastinv" Safe Returns to the previously held inventory item.
Voice module bind "j" "voice_modenable_toggle" Safe Switches the in-game voice module on or off.
Noclip bind "p" "noclip" Practice Only Flight through map geometry in a permitted local practice session.
Jump-throw script bind "alt" "+jump; -attack" Avoid Combines protected jump and attack actions.
Current CS2 binds quick reference

Typing bind "key" tells you what a key currently does. Check that before replacing it with one of these examples. To assign CS2 keys, either use the console or make the change through the keyboard settings menu.

Grenade and Utility Binds

A direct grenade key equips the grenade. That’s all: you still move, aim and release it yourself. Put smoke on a key you can reach without cycling past the flash or HE when you need it quickly.

Safe

Core Grenades

bind "z" "slot6"
bind "x" "slot7"
bind "c" "slot8"

slot6 selects an HE grenade, slot7 selects a flashbang, and slot8 selects a smoke.

Safe

Decoy and Fire

bind "v" "slot9"
bind "mouse4" "slot10"

slot9 is the decoy slot. slot10 selects the Molotov or incendiary grenade available to your team.

Safe

One Side Button

bind "mouse5" "slot8"

A side button is only convenient if your grip stays steady while pressing it. If reaching for it moves your aim, put smoke on the keyboard instead.

Used your only smoke already? The smoke key has nothing left to equip. These slot numbers refer to fixed grenade types, not the order you happen to prefer carrying them in.

The key should equip, not throw for you. Combining +jump with -attack supplies both the jump and release from one input. Adding +forward or using -attack2 in the sequence does not make that protected combination acceptable.

Movement Binds

Wheel jump gives you one jump input per notch. Scrolling through several notches gives you more chances to meet the landing timing, but there’s no landing detection in the bind.

Safe

Mousewheel Jump with Space Retained

bind "mwheeldown" "+jump"
bind "space" "+jump"

This leaves Space available as well. Prefer scrolling up? Use mwheelup in place of the downward wheel input.

The distinction is what happens when your hand stops. Stop the wheel and you stop sending jump inputs. A bunny-hop macro keeps supplying its timed sequence after one press instead, which is among the advantage-producing external macros FACEIT prohibits.

For switching back to the item you just held, use lastinv:

bind "q" "lastinv"

No alias is needed for that. Some longer quickswitch scripts force a knife or do something else on key release. Neither addition is necessary if all you wanted was the item you held before this one.

Keep crouch and jump as your own inputs. CS2 ignores bind "key" "+jump; +duck" by default because it bundles two protected movement actions into one key.

Buy Binds

You can put armour on F3 and a kit on F4 to avoid reopening the buy menu. Still check what the team is buying before spending. FACEIT permits autobuy configuration; it isn’t treated like a script that performs movement for you.

Purchase Exact command Status Important condition
Armor and helmet bind "f3" "buy vesthelm" Safe Requires enough money and an active buying period.
Defuse kit bind "f4" "buy defuser" Safe Only available to the Counter-Terrorist side.
Smoke grenade bind "f5" "buy smokegrenade" Safe Fails harmlessly if unavailable or already at the limit.
Flashbang bind "f6" "buy flashbang" Safe Each time it is pressed it tries to make one purchase.
AK-47 or M4A4 bind "f7" "buy ak47; buy m4a1" Safe Only the valid team and loadout purchase succeeds.
AK-47 or M4A1-S bind "f7" "buy ak47; buy m4a1_silencer" Safe Use this version when the M4A1-S occupies your applicable loadout slot.

That AK/M4 command tries both purchases. A T can’t buy the M4 and a CT can’t buy the AK, leaving the valid team purchase to succeed if money, buy time and loadout allow it. Grenade limits still apply too. The semicolon isn’t the forbidden part of a bind; combining protected player actions is.

Make sure the F-key isn’t doing something you still need. On a full-size keyboard, the numpad is another place to put purchases without crowding the keys used during a fight.

Binds saved?

Explore finishes for your preferred weapons.

Browse CS2 Skins

Audio and Communication Binds

Decide what you want muted. Turning down incoming voice lets you keep making calls; switching off the voice module is broader than that.

Safe

Toggle the Voice Module

bind "j" "voice_modenable_toggle"

J toggles voice_modenable. This is the voice-module switch, not merely a volume control for the teammates you hear.

Safe

Mute Incoming Voice Volume

bind "k" "toggle snd_voipvolume 0 1"

K alternates incoming volume between 0 and 1. At 0 you won’t hear the incoming voice, but the voice module itself remains enabled.

Safe

Change Microphone Mode

bind "l" "voice_toggle_open_mic"

In the ordinary client, this switches between open mic and push-to-talk. Check which mode you left selected before having a conversation away from the match.

The current incoming-volume setting is snd_voipvolume. If an old guide gives you voice_scale, it’s referring to CS:GO. Don’t confuse either volume setting with voice_modenable_toggle, which changes the voice module.

For a quiet clutch, K is the relevant example. It turns down what you hear, leaving the module on so you can still make your own call. J does more than mute the incoming sound. Remember to restore the volume afterward or you’ll miss the next plan too.

Practice and Crosshair Binds

Crosshair display toggles are ordinary client settings you can use in public matches. The training tools below aren’t all in that category. Noclip, position readouts and grenade-practice controls need the appropriate permissions in a session you host or are allowed to practise in.

Purpose Exact command Status Scope
Follow-recoil crosshair bind "h" "toggle cl_crosshair_recoil 0 1" Safe Turns the crosshair’s Follow Recoil option on or off.
Crosshair visibility bind "n" "toggle crosshair 0 1" Safe Client-side display toggle.
Noclip bind "p" "noclip" Practice Only Needs local authority and normally sv_cheats 1.
Position display bind "o" "toggle cl_showpos 0 1" Practice Only cl_showpos requires cheat permission.
Grenade preview sv_grenade_trajectory_prac_pipreview 1 Practice Only Use in a permitted local grenade-practice environment.

Start a local map before enabling practice permissions. A minimal setup can begin with:

sv_cheats 1
bind "p" "noclip"
sv_grenade_trajectory_prac_pipreview 1

In that setup, noclip is the reason for sv_cheats 1. The grenade preview belongs to the server controls but isn’t itself cheat-flagged. You don’t have authority to turn these training permissions on in Valve matchmaking or an ordinary FACEIT match. A community server’s administrator decides what to allow there.

A separate file for practice-only console commands makes the distinction easier to maintain. Executing it on a competitive server won’t give your account permissions the server hasn’t granted.

Binds That No Longer Work

There are two reasons an old script can fail. CS2 ignores binds containing more than one protected movement or attack action by default. Valve’s Side-stepping Skill policy also prohibits automating multiple player actions from a single input on official servers, where detection may result in a kick.

The protected list covers attack and secondary attack, forward, back, left, right, jump, duck, reload, use and zoom, as well as turning, strafing, looking and related movement axes. Spelling each command correctly won’t help if the problem is the combination.

Jump-Throw and Run-Throw Binds

A jump-throw script supplies both the jump and the grenade release from one key. Add forward movement and you have the running version. These are examples to remove from an official-match config, not copy into one:

Avoid
bind "alt" "+jump; -attack"
bind "alt" "+forward; +jump; -attack"

Moving the sequence into aliases or a chain of exec commands doesn’t make it acceptable. Press the movement and release inputs yourself.

To do it manually, prime the grenade, jump, then promptly release attack. Hitting the intended timing produces a grunt that nearby players can hear too. That’s the confirmation to listen for. Valve designed reliable jump throws without a script; the jump and release still come from you.

A running throw adds your own forward movement and a chosen jump point. If an old video used a script, its bind isn’t the part to bring into your config. Practise a manual timing cue for the throw instead.

Null Binds and Input Automation

A null bind can release one direction when you press the other. That release is being supplied by the bind, not your finger lifting off the original key. It automates part of counter-strafing; Valve specifically names null binds in the restriction.

Avoid
alias "+leftnull" "+left; -right"
alias "-leftnull" "-left"
bind "a" "+leftnull"

It needn’t be a CFG to do this. Keyboard features can supply the same automatic direction handling. Turn off Snap Tap, SOCD direction resolution and equivalent input automation before joining Valve’s official servers.

Valve says detection may cause a kick. Don’t turn that into a claim that every incident automatically earns a VAC ban. The reverse isn’t true either: getting through a match without a kick doesn’t make the bind valid. Protected combinations remain ignored by default.

The setting cl_allow_multi_input_binds 1 is cheat-protected. It belongs in an appropriate local test, not a workaround for Premier, Competitive, Casual, Wingman, Deathmatch or FACEIT rules.

Valve Official

Stick to ordinary one-action controls. CS2 ignores protected multi-action binds by default, and detecting hardware or script automation may get you kicked.

FACEIT

Autobuy and other ordinary CFG changes are allowed. Advantage-producing external scripts and macros aren’t: FACEIT gives bunny-hop and no-recoil macros as examples, not a complete list.

Local Practice

When you host the session, sv_cheats 1 can enable cheat-protected tools for practice. Joining a competitive server doesn’t bring that permission along with you.

Keep the parts of your layout you still use. To remove an old script, find its bound key and follow the aliases it calls, then remove those entries specifically.

Save Binds in autoexec.cfg

Saving the layout in an autoexec gives you something to check later. If C stops selecting smoke, there’s a line in a file to inspect instead of a console command you vaguely remember typing.

  1. Create a plain-text file named autoexec.cfg. Make sure Windows has not silently added a .txt extension.
  2. Place it in ...\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\.
  3. Add one bind per line, using quoted key and command strings.
  4. Launch CS2 and enter exec autoexec in the developer console.
  5. Run key_listboundkeys. Inspect the resulting assignments.

A clean starter file might look like this:

bind "z" "slot6"
bind "x" "slot7"
bind "c" "slot8"
bind "mouse4" "slot10"
bind "mwheeldown" "+jump"
bind "space" "+jump"
bind "q" "lastinv"
bind "j" "voice_modenable_toggle"

Run exec autoexec yourself if loading fails, and read what the console says. A filename error or a bad command may be right there. Steam’s launch options can also include +exec autoexec.cfg. Remember that loading successfully isn’t the end of it: a later command can overwrite the same key.

You don’t have to end the file with host_writeconfig. That command writes configuration state; the autoexec already holds your saved assignments. Keep the custom lines together, and look for conflicts in the menu, Steam Cloud or another CFG if one unexpectedly changes.

Find the assignment first. key_listboundkeys prints the active list. For a single key, bind "key" shows what it does and unbind "key" removes that assignment alone.

key_listboundkeys
bind "f3"
unbind "f3"

That example clears F3 and leaves the other keys alone. Substitute the key you actually want to change, then bind it again if needed. Don’t use unbindall to fix one key: it clears movement and your other controls as well.

Ready to refresh your CS2 inventory?

Trade, buy or sell CS2 skins on our marketplace.

Trade CS2 Skins on Tradeit

Frequently Asked Questions

Are CS2 binds allowed on Valve official servers?

Yes. Selecting a smoke, buying armor, changing voice volume or using lastinv is not the same as scripting a jump and throw together. Ordinary controls, including wheel jump, are allowed. CS2 ignores combined protected actions by default, and detected input automation can result in a kick.

Do jump-throw binds still work in CS2?

Not as an allowed one-key shortcut on Valve official servers. Prime the grenade, jump and release the attack button yourself. Listen for the grunt that confirms the intended timing.

Are manual jump throws reliable?

Yes. Valve designed them to work without special binds, provided you release the grenade within the timing window. You must also move manually for a running throw. An old scripted lineup may need a different timing cue.

Is mousewheel jump safe on FACEIT?

bind "mwheeldown" "+jump" sends one jump per physical wheel input. FACEIT allows ordinary configuration changes but prohibits external advantage-producing macros, including bunny-hop macros. Check any additional tournament rules too.

Why does my buy bind not work when I write it correctly?

A kit bind cannot buy a defuser on T side, for example. Check your team, money, remaining buy time and equipped loadout before changing the syntax. Utility limits still apply. The M4 names also matter: m4a1 buys the M4A4, while m4a1_silencer refers to the M4A1-S.

How do I see every key currently bound in CS2?

key_listboundkeys prints the active list. To inspect just F3, for example, use bind "f3". If that is the unwanted assignment, unbind "f3" clears it without touching your other keys.

Why is my autoexec bind being replaced?

Look for another assignment to the same key. If a later CFG sets C to a different action, it replaces your earlier smoke bind. Check launch options and the Settings menu too. Execute autoexec manually, read any errors and use key_listboundkeys to see what is active afterward.

Can I use noclip or cl_showpos in a real match?

Not in normal Valve matchmaking or FACEIT matches. noclip needs server authority and cheat permission; cl_showpos is also cheat-protected. Use them in local practice with sv_cheats 1, not as competitive-match controls.

author avatar
William Westerlund
William brings 7 years of experience writing for multiple gaming blogs. He has more than 10,000 hours played in CS:GO (CS2) and have played around in other games such as TF2 and Rust. Through his experience playing the game at a high level and dealing with skins for many years, he provides first-hand insight into the topics covered on the Tradeit.gg blog.
For New Users
Ready to trade your next CS2 skin?

Claim a first-trade bonus instantly when you get started.

$5

First-Trade Bonus

Start Trading Now
Keyboard and mouse controls for CS2 key bindings
Up To 50% Off All Skins
Table of Contents
You may also like