CS2 Jump Throw Bind: Working Bind Guide
Why the classic jump throw bind died in August 2024, the mouse axis script that still works, how it works step by step, how to set it up and what Valve says about it
A jump throw bind in CS2 used to be the easiest way to land the same smoke every time. After Valve's input update of August 19, 2024 the classic bind stopped working, because one key can no longer do jump and attack together.
Here is the jump throw script that works now, a breakdown of how it does that, why the old one failed, how to load it with a config, launch options or autoexec, and an honest note on where it stands with Valve's rules. No cheats, no external tools, only the console.
What Is a Jump Throw in CS2?
A jump throw means you jump and release the grenade right at the start of the jump. The nade flies higher and further than from the ground, so smokes and molotovs reach spots you can't hit standing. The catch is timing: release a bit late and the lineup misses. A bind removes that variation, the throw happens at the same moment every time.
Since August 2024 other players nearby can also hear your jump throw: the game plays a short grunt when it registers one. So a jump throw isn't completely silent anymore.
Why the Old Jump Throw Bind Stopped Working
In Counter-Strike 1.6 the wait command put pauses between actions, and a lot of scripts were built on it: jump throw, burst fire, quick scope. CS:GO disabled wait on official servers, so timed scripts lost their main tool. A jump throw bind still worked though, because it didn't need a pause.
The Classic Jump Throw Bind
This is the version most people used. You hold the grenade ready with the left mouse button, press the bind, and it jumps and releases the nade in the same moment:
alias "+jumpthrow" "+jump; -attack" alias "-jumpthrow" "-jump" bind "v" "+jumpthrow"
The August 19, 2024 Update
On August 19, 2024 Valve changed how binds work. A bind or alias with more than one movement or attack command is now ignored. The list includes jump, attack, attack2, duck, use, forward, back, left, right, reload, sprint, zoom, yaw, pitch and others. You can turn the old behavior back on only with cl_allow_multi_input_binds 1, and that command is cheat-protected, so on official servers it stays at 0. +jump; -attack is exactly such a bind, so the classic jump throw died.
The same update added the jump throw grunt sound and kicks for hardware-assisted counter-strafing. Valve also said in plain words that automating several player actions from one input is not allowed anymore, and that such players may be kicked from official matches.
The New CS2 Jump Throw Script
The workaround uses the mouse axes. Instead of putting two actions on one key, the script temporarily rebinds mouse movement to an alias, and the second action fires the moment you move the mouse. Every alias has only one movement or attack command, so the August 2024 filter doesn't block it.
alias "rst_mouse_y" "bind mouse_y pitch" // 3 alias "at" "+attack; bind mouse_y rst_mouse_y" // 2 alias "rst_mouse_x" "bind mouse_x yaw" // 6 alias "rst" "rst_mouse_x; -jump" // 5 alias "+jt" "+jump; bind mouse_y at" // 1 alias "-jt" "-attack; bind mouse_x rst" // 4 bind "v" "+jt"
The numbers in the comments show the order in which the parts run.
How the Script Works, Step by Step
-
You press V (
+jt). The script does+jumpand rebinds the vertical mouse axis (mouse_y) to the aliasatinstead of normal pitch. Nothing else happens yet. -
You move the mouse up or down.
The axis runs
at:+attackpulls the pin, andmouse_yis pointed torst_mouse_y. - Next vertical movement.
rst_mouse_yputsmouse_yback to normal pitch. - You release V (
-jt).-attackthrows the grenade, and the horizontal axis (mouse_x) is pointed torst. -
You move the mouse left or right.
rstruns: it callsrst_mouse_x, which puts normal horizontal movement (yaw) back, and ends the jump with-jump.
After that both axes work as usual and the throw is done. In practice: take the grenade out, tap V quickly with a tiny mouse movement, and the nade leaves at the start of the jump.
The Bind Trick
The whole "magic" is that a mouse axis bound to an alias runs that alias on the next movement. Your hand always moves the mouse a little, so the second action comes almost at once. The script:
- doesn't need
wait, which CS2 doesn't have; - doesn't put two movement or attack commands into one bind or alias;
- works with the in-game console only.
Is It Allowed? An Honest Note
It works on official servers: each alias has one input command, so the filter doesn't catch it. Valve hasn't patched it so far.
Valve said automating several player actions from one input may get you kicked. In spirit, this script is exactly that, it just goes around the filter.
A gray area. It can stop working or become a kick reason with any update. If you want zero risk, throw by hand.
How to Jump Throw in CS2 Without a Script
If you don't want a gray-area script, there are clean ways that need only practice:
- By hand
- Hold the grenade with the left button, press Space and release the button at the same moment. CS2's subtick registers the exact moment of the release, so it's more forgiving than in CS:GO.
- Jump on the wheel
- Put jump on the mouse wheel and release the left button while you scroll. Both actions are yours, one input each. How to set it up is in bind jump to mouse wheel .
To learn lineups, use the practice commands from my grenade binds guide: infinite nades, the trajectory trail and sv_rethrow_last_grenade.
How to Set Up the CS2 Jump Throw Script
You can paste the script into the console, but it's better to keep it in a .cfg file and load it by hand or on every start.
1. Create the Config File
-
Open the CS2 cfg folder:
...\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\
- Create a text file, for example jumpthrow.txt, paste the script and save.
- Rename it to jumpthrow.cfg.
-
If you don't see extensions:
File Explorer Options
,
View
, uncheck
Hide extensions for known file types
. Otherwise the file can end up as jumpthrow.cfg.txt.
Turn off Hide extensions for known file types
2. Run It From the Console
-
Turn on the console:
Settings
,
Game
,
Enable Developer Console
: Yes.
Enable Developer Console in the game settings - Open it with
~and typeexec jumpthrow. - Test the bind on an empty map before a match.
3. Load It With Launch Options
-
In Steam: right click
Counter-Strike 2
,
Properties
,
Launch Options
.
Running a config from the Steam launch options - Add
+exec jumpthrow. - Start the game, the script loads by itself. More options in my launch options guide.
4. Load It With autoexec.cfg
Create autoexec.cfg in the same cfg folder (if you don't have one) and add:
exec jumpthrow echo "Jump throw script loaded"
You can keep scripts in a subfolder, for example cfg\myscripts\jumpthrow.cfg, and load them with exec myscripts/jumpthrow. More about configs: CS2 config guide and CS2 config location.
Jump Throw Bind Not Working: Troubleshooting
| Problem | Fix |
|---|---|
| The grenade doesn't throw | Move the mouse slightly while you press the key, the script fires on movement. Check that the config is loaded: exec jumpthrow. |
| The mouse feels locked or odd after the throw | Restore the axes: bind mouse_x yaw and bind mouse_y pitch. |
| +attack gets stuck | Type -attack in the console. It can happen if you spam the key several times in a row. |
| The classic +jump; -attack bind does nothing | That's the August 2024 filter. Use the new script. |
| V is already used | By default V is the radial radio. Change the last line, for example bind "mouse5" "+jt". |
Conclusion
After the August 2024 update the classic jump throw bind doesn't work on official servers. The mouse axis script still gives you a one-key jump throw with the console only: no cheats, no external tools, no multi-input binds. Just keep in mind that it goes around Valve's filter rather than being approved by Valve, so it's a gray area that can change with any patch. If you want zero risk, learn the manual throw or jump on the wheel, with a bit of practice it's just as consistent.
CS2 Jump Throw FAQ
Does the jump throw bind work in CS2 in 2026?
The classic +jump; -attack bind doesn't, it's blocked since August 19, 2024. The mouse axis script from this guide still works on official servers.
Is the jump throw script allowed on official servers?
It's a gray area. Technically it passes the filter, because every alias has only one input command. But Valve said automating several actions from one input may get you kicked, and this script does exactly that by a workaround.
Can this script cause a VAC ban?
VAC is for cheats and external software, and this is a normal config. The real risk is a kick from the match if Valve decides to detect such automation.
Do I have to move the mouse for it to work?
Yes, a tiny movement is enough. The second action fires on mouse movement, that's how the script gets around the filter.
What is cl_allow_multi_input_binds?
A cheat-protected setting from the August 2024 update. With 1, binds with several movement or attack commands work again, but only with sv_cheats 1, so on your own server.
What if +attack gets stuck?
Type -attack in the console. It can happen if you press the bind several times very fast.
Does it work on FACEIT?
It depends on the platform and its rules, check them before you use it. The script itself runs inside the game console.
Can I use another key instead of V?
Yes, change the last line, for example bind "mouse5" "+jt".


