What are the most useful CS:GO console commands? Like with many of Valve’s other games, Counter-Strike: Global Offensive can exploit the power of the Source engine console to give you more options and better settings. It’s just as important for improving at the game as knowing where to aim guns and grenades – plus, it can even make practising that much easier and more efficient. Being a Steam game, CS:GO also has launch options that can be configured to customise elements before you’re even loaded in.
All Counter-Strike: Global Offensive veterans will tell you that matches of skilled players can be won and lost on the smallest of margins. A smoke grenade lobbed an inch to the left of the optimum location can reveal your push to the enemy team, for instance. Ensure you have all the knowledge you need to win with the best CS:GO console commands.
Below we’ll break down all the best console commands and launch options, and even recommend what you should change in your config files to give you the biggest advantage possible. If you’re a new player, you might want to check out our CS:GO tips before heading into the console, to help you get a leg up in Valve’s deceptively complex FPS.
What are the best CS:GO launch options?
To input launch options, head over to Steam, right click on CSGO and go to properties. Hit ‘Set Launch Options…’ and a box will pop up. The syntax for commands put into this box is -[command] and then a space before the next one or any additional values that might be required. We’ll get into specifics with each command as we go.
Load console on game start
-console This will enable the console as soon as you get into the game. It’s useful for making sure your config files have loaded properly, but unlike with Counter-Strike: Source, it isn’t required to make the console show up when you press its hotkey (more on this later).
Disable intro videos
-novid Turns off the Valve intros, saving you precious seconds every time you boot into the game
High CPU priority
-high Gives the game high priority in your CPU, meaning background tasks won’t slow it down as much. Useful for keeping web browsers running on a second monitor while playing. Messing with CPU priority isn’t a risk free operation, but is unlikely to damage anything permanently. Try disabling this command if you’re getting blue screens.
Govern CPU core usage
-threads [number] Tells the game how many CPU cores it has access to. Recommended to set this to however many cores your computer has (probably 4). Exactly whether this will improve or decrease your performance is specific to your computer, so enable or disable this command as necessary.
Set offline server tickrate
-tickrate [number] The tickrate is the number of times per second a server updates the status of everything on it. Most matchmaking servers run at a tickrate of 64, which is the default for local games you host offline. If you want to change to the competitive server tickrate of 128, change to that with this command.
-fullscreen Loads the game in fullscreen
Loads the game in a window. These commands set the width, height, and position:
-w [width] -h [height] -x [horizontal position] -y [vertical position]
So if you wish to have a window that fills a second 1080p monitor, you would use this string of commands: -h 1920 -w 1080 -x 1921 -y 0.
Removes the border around a window.
Change client language
This forces the client into a certain language. Useful if you want it in English but have a non-English Steam client, or vice versa.
What are the best CS:GO console commands?
Now we’ll move onto console commands. These come in a couple of flavours – ones that you want running every time the game starts, and ones that are useful to just pop into the console when you want a specific effect. All of them are best implemented using config files to keep them in order and let you change settings on the fly.
What is a CSGO config file?
Config files are located in [your Steam directory]SteamAppscommonCounter-Strike Global Offensivecsgocfg. If you haven’t already set Windows up to open these files with Notepad, try to open config.cfg and tell it to do so (or an equivalent simple text editor that won’t give weird formatting).
In here are all your in-game options stored as console commands that run every time you load the game. You can edit them from here if you like, but it also lets you change parts of the game not in the options menu, or copy-paste settings from outside the game, as we’re about to do. However, it’s much safer to use an autoexec.cfg file to do this, as it means you know all your changed settings are in one place and can easily be transferred between machines.
The other thing config files are good for is as lists of commands that can be executed with a single line from inside the game. This is very useful for setting up configurations for different sorts of match or specifically for practising against bots with server-side cheats on. The autoexec config file mentioned above automatically runs whenever you start the game.
So, what should be in my CSGO autoexec?
In your autoexec you want the settings that are global for any time you’re playing CSGO. This means your keybindings, graphics settings, and so on. We’ll divide this into groups of commands to explain. To create one, simply make a new notepad document in the cfg folder, go to Save As, change file type to All Files and name it autoexec.cfg. As with all Source engine games, console commands in a config file require quotes around values.
In general you want the lowest settings possible when playing CSGO competitively because it maximises your FPS and removes flashy effects that get in the way of seeing enemy heads to click on. You can set all those in the options menu. Here’s some extra vital ones.
mat_monitorgamma “[value]” This alters how bright the game world is. Most autoexecs I’ve seen have it set to between 1.6 and 2.1. Useful for picking enemies out of darker corners, like dust_2 tunnels.
mat_queue_mode “-1” Tells your computer how to deal with CSGO. Don’t change this from “-1” unless you know what you’re doing more than we do.
Maximum FPS lock
fps_max [value] Sets the in-game maximum FPS. 0 will remove the lock, which some players prefer to sit at 145 for consistency. Naturally, you want this as high as possible, and over the server’s tickrate at the very least (again that’s 64 for matchmaking, 128 for custom competitive). fps_max_menu does the same for, surprisingly, menus.
Disable dynamic lighting
r_dynamic “0” Turns off dynamic lighting, which some players find distracting.
r_drawparticles “0” Turns off engine particles.
Disable tracer fire
r_drawtracers_firstperson “0” Removes the light tracers from your weapons when firing. AKA the worst part of CS:GO. If someone had told us about this command when the game launched we’d probably be on NiP by now.
Save graphics options
mat_savechanges This saves your graphics options so they’ll be the same the next time you start up the game. Important.
This section covers some vital components – the radar, the rest of the HUD, and how to reduce weapon bob in CSGO.
Adding this set of commands to your autoexec file will make the whole map appear on the radar the entire time, making it easier to spot enemies.
cl_radar_scale “0.3”cl_hud_radar_scale “1.15”cl_radar_icon_scale_min “1”cl_radar_rotate “1”
This will also make the radar a bit bigger, make icons appear larger on it and decenter it so it no longer moves with you. This means less space is wasted if you’re close to the edge of the map.
Perhaps the most important part of CS:GO’s HUD is the crosshair. You’re going to be staring at it for about a billion hours and it’s vital you can always pick it out from the background. There are tons of options in-game for setting up what it looks like, plus loads more console modifications that can be made. Rather than listing all the possible options here, we recommend using a crosshair customiser that’ll spit out the correct commands you can copy and paste in.
As for the rest of the HUD, you can customise it with the following commands.
hud_scaling “[value]” Changes the size of the HUD as a whole. 0.8 seems to be the accepted best standard.
Toggle target names
hud_showtargetid “[value]” Controls whether names show up when hovering over players.
Adjust HUD Alpha
cl_hud_background_alpha “[value]” Changes the opacity of the HUD background. 0.1 is standard.
Position bomb display
cl_hud_bomb_under_radar “[value]” Changes the position of the bomb indicator for when you have the bomb. 1 is under the radar, 0 is in inventory.
Adjust HUD colour
cl_hud_color “[value]” Corresponds to the menu in-game that selects your HUD’s colour. 0 through 10.
Toggle avatars on mini-scoreboard
cl_hud_playercount_showcount “0” Whether to simply show the number of players or all of their avatars as well on the top of screen scoreboard.
Move View Model
This set of commands will move the model of your weapon a little out of your way and disable the bob that occurs while running.
viewmodel_offset_x “0”viewmodel_offset_y “-2”viewmodel_offset_z “-2”viewmodel_fov “54”cl_bobamt_lat “0.1”cl_bobamt_vert “0.1”cl_bobcycle “0.1”cl_viewmodel_shift_left_amt “0.5”cl_viewmodel_shift_right_amt “0.5”
You can change the first command here to “0” if you prefer a left handed weapon. This set is super useful for maximising your viewing area and removing distracting animation. Both are vital for edging out those tiny advantages that make the difference between an AK bullet to the skull and victory in the round.
The holy grail of config edits, these are what you’re here for. You won’t notice a massive boost from enabling this set of commands, but it will smooth things out, particularly on 128 tick servers.
cl_cmdrate “128”cl_updaterate “128”cl_interp “0”cl_interp_ratio “1”cl_lagcompensation “1”
All six of these are about making sure your computer is communicating with the server as efficiently and often as possible. It minimises the number of times your computer will think something has happened and the server corrects it a moment later, usually leading to that sweet headshot being flip-turned on you in the worst way possible.
Sound is ludicrously important if you don’t want to get sneaked up on in Counter-Strike. Here’s what the console lets you do in that area.
Adjust main volume
volume “[value]” Scales from 0 to 1 with a couple of decimal places.
Toggle voice chat
voice_enable “[value]” 0 for off, 1 for on. Some bind a button to toggle between the two for when they want quick access to not hearing their teammates any more:
bind “[key]” “toggle voice_enable 1 0”
Voice receive volume
voice_scale “[value]” Adjusts the volume at which you receive voice communication from other players. Works on the same scale as normal volume.
Adjust speaker configuration
windows_speaker_config “[value]” Corresponds to the menu in-game that lets you select between headphones, 5.1 surround, and so on. -1 will auto-pick, while 1 is headset, 3 is four speakers, 4 is two speakers, and 5 is surround.
Adjust music volume
snd_musicvolume “[value]” Changes the music volume. Many set this to 0 to avoid distractions.
snd_mixahead “[value]” Determines how much sound is buffered by the engine. The default is 0.1, while many players prefer 0.05 or lower. This can come with serious performance issues but it’s worth putting it as low as possible to get more instant reactions.
Adjust volume of distant sound
snd_headphone_pan_exponent “[value]” Changes how loud distant sounds are. Higher means more distant map awareness, but makes it more difficult to tell when enemies are closer. Scales 0-100.
Adjust centered sound radius
snd_headphone_pan_radial_weight “[value]” Changes how close to the crosshair a sound source has to be before it is centered in your headphones. Scales 1-100.
You can also use the autoexec file to set your bindings. Beyond the obvious shooting and jumping, it’s good for setting up buttons that’ll quickly buy the most common items required – the various sorts of grenade, the most common guns and armour/defusers. Here’s how the command works:
bind “[key]” “[action]”
Rather than run you through all the different possible permutations of this, there’s a number of helpful tools that will customise this section of your autoexec for you. This one even has a nice GUI where you click buttons to select which key and gun you want to match. A majority of better players use the numpad for these bindings.
Aliasing is where you define new commands for the console by combining others. This is most useful in combination with bindings to let one keypress execute a large number of console commands.
alias [new command] “[command]; [command]; [command]”
There’s a lot of complicated stuff you can do with aliasing, from binding buttons to have contextual actions to making the scoreboard show up alongside the net graph. Experiment with it and look around the net for other people’s autoexecs, or see our list of links at the bottom, to see what you can get up to.
Enabling Practice Mode
One of the most useful tools the console gives you access to is a custom-made practice mode. In this, you can track where bullets are landing, how grenades are being thrown, play on maps that don’t end, and position bots to your liking. You even have infinite ammo and can buy guns map-wide.
Obviously, this isn’t something you want every single time you load up the game, so we’re going to use the exec command. It lets you execute config files from inside the game, like how autoexec does this automatically. We’ll set up a practice cfg file and then use this syntax to load it in the game:
You can set all this up yourself, but naturally legions of folks have done it before and created optimised versions with custom binds and interesting information readily available. League organiser FACEIT has a video tutorial for its own.
There’s a download in the description. It’s been updated since that video was made with some of the suggestions from this Reddit thread, which is also worth looking at if you want to modify the config further. Just open it in Notepad like you would any other config file and change as you like. Here’s some useful commands:
No team restrictions
Turns off balancing of teams, letting as many players or bots be on each side as you like.
Turns off auto-balancing, a must with the above.
Sets round times to 60 minutes so you can mess about for as long as you like.
While not technically infinite, this sets your money to enough to buy as much as you like for testing purposes.
No freeze on round start
Removes the no-movement time at the start of a round.
Buy anywhere, anytime
mp_buy_anywhere “1” Allows you to buy anywhere on the map at any point in the round.
Gives guns infinite ammo.
Five grenade slots
Allows you to carry five grenades in total.
End warmup on start
Takes the game out of warm up.
Restart the server
Useful either as an end-of-autoexec clean slate or a command to restart whenever you need to.
Show grenade trajectory
Enable to show where grenades have travelled after release, good for testing smoke placements.
Show bullet impacts
Shows where bullets landed as well as how much penetration they achieved.
Kicks a bot.
Useful for target practice.
Prevents bots from moving.
Make bots mimic player
Makes bots mimic the movements of the player, allowing them to be positioned when combined with bot_stop.
Misc Additional Commands
Here’s some stuff that doesn’t fit into other categories, but might be useful anyway. It includes some of the commands in the practice files linked above that might be useful elsewhere, too. You can put them in autoexec as you like, or just type them in directly when you want them. Remember that if you’re typing directly into the console then quotes aren’t needed around values.
con_enable “1” Allows access to the console. This can be switched on from in-game, but bung this in your autoexec if you never want to have to worry about it.
sv_cheats “1” Enables cheats on local servers. Obviously, this doesn’t work while playing on a server you don’t have admin access to, which will be most of them.
Enable developer mode
developer “[value]” Changes how much output is displayed in the console. 0 is normal, while 1 will give you a little more info. Enabling it is also required for some commands.
Print damage on screen
con_filter_text “Damage”con_filter_text_out “Player:”
This set of commands will print your damage dealt and received to the top-left corner of the screen whenever you die, rather than you having to check the console to find out.
Change Steam overlay position
ui_steam_overlay_notification_position “[bottom/top][left/right]” Allows you to customise where Steam overlay alerts appear. Top left is my preference. Note that there’s no space between the two modifiers.
Disable help messages
cl_showhelp “0”player_nevershow_communityservermessage “1”
This set will turn off the ‘press F to inspect your gun’ style messages.
Turn off server MOTDs
cl_disablehtmlmotd “1” This stops servers showing you their Messages of the Day, which are usually adverts and bloaty HTML.
Highest ping for matchmaking
mm_dedicated_search_maxping “[value]” This limits which servers you will be matchmade onto based on their ping. Roughly, anything over 100 isn’t really playable, and most people prefer to play at sub-80.
Don’t download custom sounds
cl_downloadfilter “nosounds” Stops sounds being downloaded from servers. You’ll miss out on a few MULTIKILLs but will save on disc space and connection times.
Disable weapon switch on pickup
cl_autowepswitch “0” Means you won’t switch to any gun you pick up. You don’t want to walk over an AK while shooting somebody with a pistol and suddenly be going through a weapon change animation. Believe us.
Buy menu remains open
closeonbuy “0” Stops the buy menu closing once you’ve purchased something, meaning you can purchase more weapons. Capitalism in action.
hud_takesshots “1” This will take a screenshot of the scoreboard at the end of every match. Good for bragging and keeping track of how you do.
cl_forcepreload “1” This preloads everything on a map when you first connect, rather than as you get to it. Increases load times but means less stutter mid-game. Vital.
Turn off freezecam on death
cl_disablefreezecam “1” Disables the smash-zoom and freeze onto your killer when you die.
Save settings to config
host_writeconfig This makes sure that all these settings are enabled and saved. Always a good idea to have this as the last command in your autoexec.
Print to console
echo “[text]” This prints text to the console. Useful for making sure your autoexec has loaded properly, with a message along the lines of echo “PREPARED FOR DIGITAL SPORTS.”
Lastly, here’s some specific commands that don’t make sense in an exec file but might be useful every now and then.
thirdperson Moves the viewpoint to third-person. Requires sv_cheats. firstperson puts you back.
mat_wireframe “1” Allows you to see other models through the terrain in a wireframe model. Obviously this requires sv_cheats, but can be useful for seeing how bots move around a map and where people will be at certain points.
noclip Turns on no clipping mode. Useful for exploring levels quickly. Requires sv_cheats.
god Makes you invulnerable. May be useful in bot games or for practicing jumps that damage you if you fail. Requires sv_cheats.
kill Kills you for the round. May be needed if you get into a weird spot or want to reset a solo round.
That’s your lot. Here’s a couple of handy links to where much of the information for this article was found. They’re also both useful if you’d rather shortcut the process of making your own autoexec.