CS2 console commands - the full list
This page lists only commands that actually work in the current build of CS2 - all default values are taken from the official Valve wiki. If other guides mention net_graph, cl_interp_ratio, and the like, those have either been renamed (cq_netgraph replaced net_graph) or are server-side cvars.
How to open the CS2 console
The console is off by default. Enable it in Settings → Game → "Enable Developer Console" → Yes. Open it with the ~ or ` key (tilde, left of 1). To rebind it: bind "F1" toggleconsole.
For persistent settings, create autoexec.cfg in the game/csgo/cfg/ folder and add +exec autoexec.cfg to your launch options. A ready-made file with defaults is at the end of this guide.
The "CHEAT" flag
Cheat commands only work when the server has sv_cheats 1 enabled - that is, local offline servers or practice bot servers. They're blocked on matchmaking, FACEIT, and public servers.
Crosshair
CS2 supports all the cl_crosshair* commands from CS:GO plus new ones (cl_crosshair_t, cl_crosshairgap_useweaponvalue, cl_crosshair_friendly_warning).
| Command | Default | Description |
|---|---|---|
| cl_crosshairstyle | 2 | 0/1 = disabled, 2 = default (dynamic recoil), 3 = classic dynamic, 4 = classic static, 5 = semi-static |
| cl_crosshairsize | 5 | Length of the crosshair lines |
| cl_crosshairthickness | 0.5 | Line thickness (0.5 - 4) |
| cl_crosshairgap | 0 | Gap from center; negative = smaller, positive = larger |
| cl_crosshairgap_useweaponvalue | true | Dynamic gap based on the weapon (new in CS2) |
| cl_crosshairdot | false | Center dot |
| cl_crosshair_t | true | T-shaped crosshair (no top line) |
| cl_crosshair_drawoutline | true | Black outline around the crosshair |
| cl_crosshair_outlinethickness | 1.0 | Outline thickness (0 - 3) |
| cl_crosshairalpha | 200 | Opacity (0 - 255) |
| cl_crosshairusealpha | true | Use opacity |
| cl_crosshaircolor | 5 | 0=red, 1=green, 2=yellow, 3=blue, 4=cyan, 5=custom RGB |
| cl_crosshaircolor_r | 50 | Red (0 - 255), requires cl_crosshaircolor 5 |
| cl_crosshaircolor_g | 250 | Green (0 - 255) |
| cl_crosshaircolor_b | 50 | Blue (0 - 255) |
| cl_crosshair_friendly_warning | 1 | Highlight when aiming at a teammate |
| cl_crosshair_sniper_width | 1 | Line thickness of the sniper scope crosshair |
| cl_observercrosshair | true | Crosshair in spectator mode |
Viewmodel - the weapon model in your hands
| Command | Default | Description |
|---|---|---|
| r_drawviewmodel | true | Show the weapon in your hands |
| viewmodel_fov | 60 | Viewmodel FOV (54 - 68) |
| viewmodel_presetpos | 1 | 1 = Desktop, 2 = Couch (closer), 3 = Classic (CS 1.6 style) |
| viewmodel_offset_x | 1 | Horizontal offset (-2 - 2.5) |
| viewmodel_offset_y | 1 | Forward/back offset (-2 - 2) |
| viewmodel_offset_z | -1 | Vertical offset (-2 - 2) |
| cl_righthand | true | Weapon in the right hand; false = left |
Radar
In CS2 cl_radar_scale works (default 0.7). A new addition is cl_radar_rotate (rotates the radar with your view).
| Command | Default | Description |
|---|---|---|
| cl_radar_scale | 0.7 | Map size on the radar (0.25 - 1.0) |
| cl_radar_always_centered | true | Player always centered; false = shows more of the map at the edges |
| cl_radar_rotate | true | Rotate the radar to match your facing direction |
| cl_radar_icon_scale_min | 0.6 | Minimum size of player icons (0.4 - 1.25) |
| cl_radar_square_with_scoreboard | true | Square radar when the scoreboard is open |
| cl_drawhud_force_radar | 0 | 0=default, 1=always show, -1=always hide |
| radarvisdistance | 1000 | Beyond this distance an enemy is only shown when aimed at directly |
HUD and interface
| Command | Default | Description |
|---|---|---|
| cl_hud_color | 11 | 0=team color, 1=white, 3=light blue, 4=blue, 5=purple, 6=red, 7=orange, 8=yellow, 9=green, etc. |
| hud_scaling | 1 | Scale of all HUD elements |
| hud_showtargetid | true | Show the player's name when you aim at them |
| safezonex | 1 | HUD horizontal squeeze (0.85 - 1) |
| safezoney | 1 | HUD vertical squeeze (0.85 - 1) |
| cl_drawhud | true | Enable HUD rendering |
| cl_teamid_overhead_mode | 2 | Teammate names overhead: 1=icons, 2=icons+names+weapon |
| cl_teammate_colors_show | 1 | Teammate colors: 1=colors, 2=colors+letters |
| cl_show_clan_in_death_notice | true | Clan tags in the kill feed |
| cl_use_opens_buy_menu | true | Open the buy menu with +use (E) in the buy zone |
Performance and FPS
| Command | Default | Description |
|---|---|---|
| fps_max | 400 | FPS cap in a match; 0 = unlimited |
| fps_max_ui | 120 | FPS cap in menus; 0 = unlimited |
| cl_showfps | 0 | 0=off, 1=FPS, 2=smoothed FPS, 3=server time, 4=FPS + log |
| cq_netgraph | 0 | Command queue stats (replaces net_graph): ping, loss, FPS, subtick |
| engine_no_focus_sleep | 50 | Engine sleep when the window isn't focused; 0 = don't sleep |
| mat_queue_mode | -1 | Multithreaded rendering: -1=auto, 0=single thread, 2=forced |
| r_drawparticles | true | Render particles; false = a few more FPS at the cost of visuals |
Sound and voice
snd_voipvolume is the new name for voice chat volume (it replaced voice_scale). Music categories can be muted individually.
| Command | Default | Description |
|---|---|---|
| volume | 1 | Master volume |
| snd_gamevolume | 1 | Game sound volume (gunfire, footsteps) |
| snd_voipvolume | 1 | Voice volume (replaces voice_scale) |
| voice_modenable | true | Enable voice chat |
| snd_musicvolume | 1 | Master music volume |
| snd_menumusic_volume | 0.04 | Main menu music |
| snd_roundstart_volume | 0 | Round start music |
| snd_roundend_volume | 0.16 | Round end music |
| snd_mvp_volume | 0.16 | MVP music |
| snd_deathcamera_volume | 0.16 | Music after death |
Mouse and sensitivity
| Command | Default | Description |
|---|---|---|
| sensitivity | 2.5 | Mouse sensitivity |
| zoom_sensitivity_ratio | 1 | Sensitivity multiplier while zoomed (AWP, Scout) |
| m_pitch | 0.022 | Vertical mouse movement multiplier |
| m_yaw | 0.022 | Horizontal mouse movement multiplier |
Cheat mode and practice (sv_cheats 1)
These work ONLY on local or practice servers with sv_cheats 1. They're blocked on MM/FACEIT/public servers.
| Command | Default | Description |
|---|---|---|
| sv_cheats | false | Enable cheat commands |
| noclip | - | Fly through walls (toggle) |
| god | - | Invincibility (toggle) |
| sv_infinite_ammo | 0 | 1 = no reloading, 2 = infinite ammo with reloading |
| sv_showimpacts | 0 | Bullet impact points: 1=both sides, 2=client, 3=server |
| sv_grenade_trajectory_prac_pipreview | false | Picture-in-picture preview of the grenade trajectory |
| sv_grenade_trajectory_time_spectator | 4 | How many seconds the trajectory is shown to a spectator |
| sv_infinite_ammo | 0 | Infinite ammo (1/2) |
| sv_friction | 5.2 | World friction |
| sv_gravity | 800 | World gravity |
| sv_full_alltalk | false | Any player (including spectators) can talk to everyone |
Bots
| Command | Default | Description |
|---|---|---|
| bot_add | - | bot_add <ct/t> <type> <difficulty> <name> - add a bot |
| bot_kick | - | bot_kick <all/t/ct/name> - kick a bot |
| bot_kill | - | bot_kill <all/t/ct/name> - kill a bot |
| bot_difficulty | 2 | 0=Easy, 1=Normal, 2=Hard, 3=Expert |
| bot_quota | 1 | Total number of bots in the game |
| bot_quota_mode | competitive | normal / fill / match |
| bot_stop | 0 | all / not_bomber / t / ct - freeze bots |
| bot_zombie | false | Bots don't attack (stand still and don't shoot) |
| bot_walk | false | Bots only walk, never run |
| bot_controllable | true | Players can take control of a bot |
| bot_eco_limit | 2000 | Don't buy if they have less money than this |
Server match settings (mp_*)
mp_* commands run on servers. Many are useful for practice: a long round, infinite money, no freeze time.
| Command | Default | Description |
|---|---|---|
| mp_warmuptime | 90 | Warmup duration in seconds |
| mp_warmup_end | - | End warmup immediately (command) |
| mp_warmup_pausetimer | 0 | 1 = warmup never ends (for practice) |
| mp_freezetime | 5 | Freeze time at round start; 0 = disable |
| mp_roundtime | 3 | Round length in MINUTES |
| mp_roundtime_defuse | 2.25 | Round length for defuse mode (minutes) |
| mp_buytime | 45 | How many seconds you can buy for |
| mp_buy_anywhere | 0 | 0=default, 1=both teams, 2=T, 3=CT can buy anywhere |
| mp_maxmoney | 10000 | Maximum money |
| mp_startmoney | 1000 | Starting money for the match |
| mp_c4timer | 40 | Bomb timer in seconds |
| mp_maxrounds | 15 | Maximum rounds in a match |
| mp_friendlyfire | true | Damage from teammates |
| mp_ignore_round_win_conditions | false | Round never ends (for practice) |
| mp_restartgame | 0 | Restart in N seconds |
| mp_pause_match | - | Pause the match (during freeze time) |
| mp_unpause_match | - | Unpause the match |
| mp_warmup_pausetimer | 0 | 1 = endless warmup |
Demos and replay
| Command | Default | Description |
|---|---|---|
| record | - | record <name> - start recording a .dem |
| stop | - | Stop recording |
| playdemo | - | playdemo <name> - play a .dem file |
| demo_togglepause | - | Toggle pause (handy on a bind) |
| demo_timescale | - | demo_timescale 0.5 - playback speed (0.1 - 4) |
| demo_gototick | - | demo_gototick 12345 - jump to a tick |
| demo_info | - | Info about the current demo |
| spec_pos | - | Dump the spectator position and angles to the console |
Utilities and general commands
| Command | Description |
|---|---|
| bind | bind "key" "command" - bind a command to a key |
| unbind | Remove the bind from a key |
| unbindall | Remove ALL binds (careful!) |
| key_listboundkeys | List all binds |
| toggleconsole | Open/close the console |
| clear | Clear the console output |
| status | List of players with SteamID and ping |
Network and client
| Command | Default | Description |
|---|---|---|
| cl_lagcompensation | true | Server-side lag compensation |
| cl_predictweapons | true | Client-side prediction of weapon effects |
| cl_join_advertise | 1 | 0=no, 1=official servers, 2=all. Advertise your game to friends |
| cl_dm_buyrandomweapons | true | Get a random weapon on spawn in DM |
Launch options
Set them in Steam: right-click CS2 → Properties → Launch Options.
A ready-made set: -novid -console -high -fullscreen +fps_max 0 +exec autoexec.cfg. Note: -tickrate 128 is not needed in CS2 - the game runs at 64 tick plus the engine's subtick calibration.
| Option | What it does |
|---|---|
| -novid | Skip the Valve intro |
| -console | Open the console at startup |
| -high | High process priority in Windows |
| -fullscreen | Force fullscreen |
| -w 1920 -h 1080 | Force a resolution |
| +fps_max 0 | Remove the FPS cap at startup |
| +exec autoexec.cfg | Load your own config |
| -allow_third_party_software | Allow NVIDIA Reflex and third-party software |
Ready-made autoexec.cfg
Copy it into game/csgo/cfg/autoexec.cfg. Add +exec autoexec.cfg to your launch options:
// autoexec.cfg for CS2 - all cvars are official, from the Valve Developer Wiki
// === Performance ===
fps_max 0
fps_max_ui 240
engine_no_focus_sleep 0
mat_queue_mode -1
// === HUD ===
safezonex 0.9
safezoney 0.9
cl_hud_color 0
cl_radar_scale 0.7
cl_radar_always_centered 0
cl_radar_rotate 1
cl_radar_icon_scale_min 0.6
cl_teamid_overhead_mode 2
cl_teammate_colors_show 2
cl_use_opens_buy_menu 1
// === Sound ===
volume 0.5
snd_voipvolume 1
snd_gamevolume 1
snd_musicvolume 0
snd_menumusic_volume 0
snd_roundstart_volume 0
snd_roundend_volume 0
snd_mvp_volume 0
snd_deathcamera_volume 0
snd_mapobjective_volume 0
// === Crosshair (classic static) ===
cl_crosshairstyle 4
cl_crosshairsize 2
cl_crosshairthickness 1
cl_crosshairgap -2
cl_crosshair_drawoutline 1
cl_crosshair_outlinethickness 1
cl_crosshaircolor 1
cl_crosshairdot 0
cl_crosshairalpha 200
// === Viewmodel (classic) ===
viewmodel_presetpos 3
viewmodel_fov 68
viewmodel_offset_x 2.5
viewmodel_offset_y 2
viewmodel_offset_z -2
cl_righthand 1
// === Binds ===
bind "f" "+lookatweapon"
bind "x" "use weapon_knife;use weapon_flashbang"
echo "autoexec.cfg loaded"
host_writeconfigPractice config for nades
First start a local server: type map de_mirage in the console (or any map), then run this config (paste the whole thing into the console, or save it as practice.cfg and run exec practice.cfg):
This gives you infinite grenades, a long round, infinite money, a visible throw trajectory, bullet impact points, and handy binds.
// Nade practice (offline bot server)
// Launch: map de_mirage + this cfg in the console
sv_cheats 1
sv_infinite_ammo 1
ammo_grenade_limit_total 5
mp_warmup_end
mp_freezetime 0
mp_roundtime 60
mp_buytime 9999
mp_buy_anywhere 1
mp_maxmoney 60000
mp_startmoney 60000
mp_restartgame 1
mp_ignore_round_win_conditions 1
mp_warmup_pausetimer 1
sv_grenade_trajectory_prac_pipreview 1
sv_grenade_trajectory_time_spectator 20
sv_showimpacts 1
bot_kick
god
bind "z" "noclip"
bind "x" "give weapon_smokegrenade;give weapon_flashbang;give weapon_hegrenade;give weapon_molotov"
bind "c" "respawn_entities"How to hide the HUD
Useful for screenshots, recording demos, editing clips, or a clean stream. The commands are entered in the console; they work in matches, on FACEIT, and on public servers.
It's handy to put it on a bind: bind "F8" "toggle cl_drawhud 0 1" - one key hides and brings back the HUD.
- cl_drawhud 0 - remove the entire HUD (including the crosshair and kill feed).
- cl_draw_only_deathnotices 1 - keep only the kill feed and the crosshair.
- crosshair 0 - hide only the crosshair.
- cl_drawviewmodel 0 - hide the weapon and hands in first person.
- To restore: cl_drawhud 1, cl_draw_only_deathnotices 0, crosshair 1, cl_drawviewmodel 1.
Where to find a server's IP
The address of any CS2 server is available in the MonitoringCS2 listing - each one shows the IP:port, current player count, map, and ping. Copy the address and use the connect IP:port command.