Best CS2 Console Commands and How to Make an Autoexec
November 9, 2026 · 7 min read
On this page
- How do you open the console in CS2?
- What are the most useful CS2 console commands?
- FPS, ping and network
- HUD and radar
- Viewmodel and weapons
- Crosshair
- How do binds work in CS2?
- Which old commands no longer work?
- How do you make an autoexec in CS2?
- Frequently asked questions
- How do you enable the console in CS2?
- How do you show FPS in CS2?
- Where do you put autoexec.cfg in CS2?
- Do jump-throw binds work in CS2?
- Why can't I change fps_max in CS2?
- Does cl_interp still work in CS2?
The CS2 console lets you change settings the menus hide, check your FPS and ping, and load your whole setup from one file. This guide lists the console commands that are actually useful in 2026, the old ones that no longer work, and how to set up an autoexec.cfg so your settings load every time you start the game.
Every command name below was checked against the current game files, and every behavior change against Valve's update notes. Practice-server commands that need cheats turned on have their own page: the CS2 practice config guide.
Last checked: November 9, 2026.
How do you open the console in CS2?
- Open Settings and go to the Game tab.
- Set Enable Developer Console to Yes. This is the
con_enablesetting. - Press the console key. On a US keyboard it is the key above Tab. To change it, use the Go To Console Key Binding link in the same tab.
Type a command and press Enter. Most settings commands take a value after the name, for example cl_showfps 1. Typing a command name without a value usually prints its current value.
What are the most useful CS2 console commands?
FPS, ping and network
| Command | What it does |
|---|---|
cl_showfps 1 |
Shows a simple FPS counter |
cl_hud_telemetry_frametime_show 2 |
Shows frame time and FPS in the telemetry HUD (0 never, 1 only when poor, 2 always) |
cl_hud_telemetry_ping_show 2 |
Shows your ping in the telemetry HUD |
cl_hud_telemetry_net_misdelivery_show 1 |
Shows missed ticks from packet loss or jitter when conditions are poor |
cl_hud_telemetry_net_quality_graph_show 1 |
Shows a live jitter and packet loss graph when conditions are poor |
fps_max 0 |
Removes the in-game frame cap; fps_max_ui sets the cap in menus |
mm_dedicated_search_maxping 60 |
Max acceptable matchmaking ping, from 25 to 350 ms |
cl_net_buffer_ticks 0 |
Extra network buffering (0, 1 or 2 ticks) to smooth over packet loss, at the cost of added delay |
Set fps_max before you join a match. Since August 2025 it can no longer be changed while you are connected to a server. If you are fighting lag rather than low FPS, the guide to reducing ping and fixing lag explains how to read these numbers.
HUD and radar
| Command | What it does |
|---|---|
hud_scaling 0.9 |
Makes the HUD smaller or larger |
cl_hud_color 0 |
Changes the HUD color (the menu lists each option) |
cl_radar_always_centered 0 |
Switches the radar from centered on you to best fit, so you see more of the map |
cl_radar_rotate 1 |
Rotates the radar with your view |
cl_radar_scale 0.4 |
Zooms the radar map in or out |
cl_hud_radar_scale 1.15 |
Changes the size of the radar on screen |
cl_radar_square_with_scoreboard 1 |
Turns the radar into a square showing the whole map while the scoreboard is open |
cl_teamcounter_playercount_instead_of_avatars 1 |
Shows a large player count instead of avatars at the top of the screen |
Viewmodel and weapons
| Command | What it does |
|---|---|
viewmodel_fov 68 |
Sets the weapon field of view, from 54 to 68; higher values push the gun further away |
viewmodel_offset_x, _y, _z |
Moves the weapon left or right, forward or back, up or down |
viewmodel_presetpos 1 |
Picks a preset weapon position (1 Desktop, 2 Classic) |
cl_prefer_lefthanded 1 |
Holds weapons in the left hand |
The CS2 viewmodel generator builds these lines for you with a live preview.
Crosshair
Crosshair settings moved to pixel-based commands in September 2026, such as cl_crosshair_length, cl_crosshair_thickness and cl_crosshair_gap. The full list, and how share codes work now, is in CS2 crosshair codes explained. The fastest way to get a working set of lines is the crosshair generator.
How do binds work in CS2?
The bind command ties a key to a command:
bind "mwheelup" "+jump"
bind "kp_end" "buy rifle2"
For buy binds, Valve's notes describe buying by loadout slot, such as buy secondary0, buy midtier1 or buy rifle2, because CS2 lets you choose which weapon sits in each slot. Buy binds stop working during the halftime freeze period.
Some binds are no longer allowed. Since August 2024, a single bind that triggers more than one movement or attack action is ignored by default. That rules out jump-throw binds and "null binds" that cancel opposite movement keys. Valve made jump-throws reliable without a bind, so jumping and throwing quickly now does the same job. Keyboard features that automate counter-strafing, such as "Snap Tap" modes, can get you kicked from official matches, and Valve asks players to turn them off.
Which old commands no longer work?
Configs copied from CS:GO or early CS2 often include commands that now do nothing:
| Old command | Status in 2026 |
|---|---|
net_graph 1 |
Gone; use the telemetry HUD commands above |
cl_interp |
Locked since February 2024; use cl_net_buffer_ticks instead |
| Jump-throw and null binds | Ignored since August 2024 |
cl_crosshairsize, cl_crosshairthickness |
Replaced by the 2026 pixel-based crosshair commands |
fps_max while in a match |
Blocked since August 2025; set it before joining |
If a line in your config prints an error or "unknown command" in the console, delete it.
How do you make an autoexec in CS2?
An autoexec is a text file of commands that runs when the game starts. It keeps your setup identical after reinstalls, on a new PC, or after a settings reset.
- Go to your CS2 install folder. By default this is
Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg. If you installed elsewhere, right-click CS2 in your Steam library and choose Manage, then Browse local files. - Create a new text file and name it
autoexec.cfg. Make sure Windows has not saved it asautoexec.cfg.txt; turn on file name extensions in File Explorer to check. - Add one command per line. Lines starting with
//are comments. - In Steam, right-click CS2, open Properties, and add
+exec autoexecto Launch Options.
A simple example:
// autoexec.cfg
sensitivity 1.0
fps_max 0
cl_hud_telemetry_frametime_show 2
cl_hud_telemetry_ping_show 2
cl_radar_always_centered 0
cl_radar_scale 0.4
viewmodel_fov 68
bind "mwheelup" "+jump"
echo "autoexec loaded"
The echo line prints a message in the console, so you can open it after launch and confirm the file ran. Replace the sensitivity value with your own; the eDPI calculator helps if you are switching DPI.
Settings you change in menus are saved by the game anyway, so the autoexec is mostly a backup and a way to keep binds and hidden values consistent. If a menu setting keeps changing back after a restart, check whether your autoexec is overwriting it.
For video, mouse and audio choices, see the best CS2 settings guide.
Frequently asked questions
How do you enable the console in CS2?
Open Settings, go to the Game tab and set Enable Developer Console to Yes. Then press the console key, which is the key above Tab on a US keyboard, or set your own key with the Go To Console Key Binding link.
How do you show FPS in CS2?
Type cl_showfps 1 for a basic counter, or cl_hud_telemetry_frametime_show 2 to keep frame time and FPS on the telemetry HUD. The old net_graph command no longer exists.
Where do you put autoexec.cfg in CS2?
Put it in Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg, then add +exec autoexec to the game's launch options in Steam so it runs every time you start CS2.
Do jump-throw binds work in CS2?
No. Since August 2024, binds that trigger more than one movement or attack action are ignored by default. Valve made regular jump-throws reliable instead, so jump and throw quickly by hand.
Why can't I change fps_max in CS2?
Since August 2025, fps_max can no longer be changed while you are connected to a server. Set it in the main menu, in the Frame Pacing settings or the console, before you join a match.
Does cl_interp still work in CS2?
No. Valve locked cl_interp in February 2024 after scripts set it to extreme values. Use the "Buffering to smooth over packet loss / jitter" setting, cl_net_buffer_ticks, instead.