CS2 Config: How to Create, Load and Manage CFG Files
Where the cfg folder is, how to make a config, three ways to load it, autoexec.cfg, several configs at once, copying your current settings and fixing a config that won't run
Counter-Strike 2 still uses the same .cfg system players know from CS 1.6 and CS:GO. A config is a text file with console commands, binds and small scripts. You load it, and your whole setup is back in a second: after a reinstall, on another PC, or when an update resets something.
In this guide I show where CS2 keeps configs, how to create one without the classic .cfg.txt mistake, how to load it from the console, launch options or autoexec, how to split a big config into several files, and what to check when a config doesn't run. There's also a starter autoexec you can copy.
What Is a CS2 Config File (.cfg)
A .cfg file is plain text, one console command per line. When the game runs it, it does exactly what you would do by typing those lines into the console one by one. So a config can hold anything the console accepts: sensitivity, sound, FPS settings, HUD, radar, crosshair, binds and aliases.
sensitivity 1.2 volume 0.4 fps_max 400 bind "mouse4" "+jump"
Don't mix it up with the game's own settings files. CS2 saves everything you change in the menu into .vcfg files, like cs2_user_convars_0_slot0.vcfg and cs2_user_keys_0_slot0.vcfg. The game writes them itself. Your .cfg files are yours: CS2 never changes them, it only runs them.
Settings come back after a reinstall, a new PC or a reset with one command.
Separate configs for practice, bots, grenades or recording, loaded only when you need them.
Configs only run commands the game already has. No VAC risk, that's what they are made for.
Where Is the CS2 Config Folder
If Steam is installed in the default place, the folder for your configs is:
C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\
On Linux it's ~/.steam/steam/steamapps/common/Counter-Strike Global Offensive/game/csgo/cfg/. The game folder is still called Counter-Strike Global Offensive, that's normal.
How to Find the Folder Through Steam
If CS2 is in another Steam library or on another drive, let Steam open the folder for you:
- Steam → Library → right-click Counter-Strike 2.
- Manage → Browse local files . Or Properties → Installed Files → Browse .
- In the folder that opens go to
game→csgo→cfg.
All configs you want to run go into this cfg folder or into a subfolder inside it. Where the game keeps its .vcfg files, the userdata folder and the difference between them is covered in my CS2 config location guide.
How to Create a CS2 Config File
- Open the cfg folder.
- Right-click → New → Text Document, name it for example
config.txt. - Open it in Notepad, put your commands in, one per line, and save.
- Rename it from
config.txttoconfig.cfgand confirm the extension change.
Turn On File Extensions in Windows
The most common mistake: Windows hides extensions, you rename the file to config.cfg, and in reality it becomes config.cfg.txt. The game won't see it. To be sure, turn extensions on:
- Windows 11: in File Explorer open View → Show → File name extensions.
- Any Windows: Control Panel → File Explorer Options → View → untick Hide extensions for known file types .
Notepad also likes to add .txt on its own. When saving, set Save as type to All files, or put the name in quotes: "config.cfg".
Comments in a Config
Everything after // on a line is a comment, the game skips it. I use comments to split a config into sections and to remember why a value is there.
// Mouse sensitivity 1.15 // FPS and telemetry fps_max 400 cl_hud_telemetry_frametime_show 2 // always show FPS
How to Load a Config in CS2 (exec Command)
A config can be loaded by hand from the console or automatically at start, through launch options or autoexec.cfg (next section).
From the Console
- Settings → Game → Enable Developer Console (~) → Yes.
- Press ~ to open the console.
- Type the command and press Enter:
exec config
The .cfg at the end is optional, exec config.cfg works too. This is the way for configs you switch during a session: practice, bots, grenades. More useful commands for them are in my CS2 console commands guide.
From Steam Launch Options
Launch options can run console commands at start. A command there starts with +.
- Steam → Library → right-click Counter-Strike 2 → Properties.
- On the General tab find Launch Options.
- Add at the end of the line:
+exec config
Launch options run after autoexec.cfg, so if the same command is in both, the value from the launch options wins. Which other launch options make sense in CS2 (not many) is in my CS2 launch options guide.
How to Set Up autoexec.cfg in CS2
autoexec.cfg is the one config CS2 runs by itself every time it starts. The exec autoexec.cfg call is built into the engine, you can find that line in the game files. It doesn't exist by default, you create it like any other config:
- In the cfg folder create
autoexec.txt. - Put your always-on settings inside.
- Rename it to
autoexec.cfg(notautoexec.cfg.txt).
No launch options needed. Many guides tell you to add +exec autoexec anyway. It's not needed, and when you troubleshoot later it's one more line that confuses you. I don't add it.
How to Check That Autoexec Works
Put cl_showfps 1 in it. The FPS counter shows up right in the main menu, so you know autoexec ran without loading a map. Remove the line later if you don't need the counter.
Another way is echo autoexec loaded at the end of the file, the text shows up in the console. More ways to show FPS are in how to show FPS in CS2.
What to Put in Autoexec
Only what you always want: mouse, crosshair, HUD, radar, sound, binds. Practice setups, bot commands and server rules don't belong there, load them with exec when you need them. A ready example is in the starter autoexec below.
How to Manage Multiple CS2 Config Files
A config grows fast, and a 200-line file is hard to read and fix. Split it by topic and let one file load the rest:
- autoexec.cfg
- Main settings: mouse, crosshair, HUD, radar, sound. At the end it loads the others.
- binds.cfg
- All key binds.
- scripts.cfg
- Aliases and scripts.
- practice.cfg, bots.cfg
- Loaded by hand when needed, never from autoexec.
exec binds exec scripts
Configs run from top to bottom. If the same command appears twice, the later value wins, also across files. So the order of the exec lines matters.
Keep Your Configs in a Subfolder
The cfg folder also holds the game's own files (game mode configs, server.cfg and others). I keep mine in a subfolder, for example cfg\myfiles\. It's cleaner, you never touch Valve's files by accident, and backing up or moving to another PC is one folder.
CS2 doesn't look into subfolders by itself, so give the path in exec. All of these work the same:
exec myfiles\config exec myfiles/config exec \myfiles\config.cfg
The game is relaxed here: slash or backslash, with or without the leading slash and the .cfg extension.
How to Copy Your Current CS2 Settings into a Config
You don't have to write a config from zero. If you already play with settings you like, the game has all the values in its own files, linked to your Steam account:
...\Steam\userdata\YOUR_STEAM_ID\730\local\cfg\
- cs2_user_convars_0_slot0.vcfg
- Your settings: crosshair, HUD, radar, mouse and other values.
- cs2_user_keys_0_slot0.vcfg
- All your current binds.
YOUR_STEAM_ID is the short number of your account (SteamID3), if you have several folders there. My SteamID Lookup shows it for any profile.
Open the file in Notepad, find the lines you need and copy them into your .cfg as normal commands: a line like "cl_crosshairstyle" "4" becomes cl_crosshairstyle 4. Don't edit the .vcfg files themselves while the game is running, CS2 overwrites them. If you changed something in the console and want it saved right away, run host_writeconfig.
How the .vcfg files work, which one stores what and how to move them safely is in my config location guide.
Starter CS2 Autoexec You Can Copy
A clean base to build on. Every command here exists in the current CS2 build, the crosshair part uses the new commands from the September 2026 update. Change the values to yours, delete what you don't need.
// autoexec.cfg - runs every time CS2 starts // Mouse sensitivity 1.25 zoom_sensitivity_ratio 1 // FPS fps_max 400 fps_max_ui 200 // Crosshair (new commands) cl_crosshairstyle 4 cl_crosshair_length 4 cl_crosshair_thickness 1 cl_crosshair_gap 2 cl_crosshairdot 0 cl_crosshair_drawoutline 1 cl_crosshaircolor_r 0 cl_crosshaircolor_g 255 cl_crosshaircolor_b 255 cl_crosshaircolor_a 255 cl_crosshair_recoil 0 // HUD and radar cl_radar_rotate 1 cl_radar_always_centered 0 cl_radar_scale 0.5 cl_hud_radar_scale 1.1 cl_teamid_overhead_mode 1 cl_hud_telemetry_frametime_show 1 cl_hud_telemetry_ping_show 1 // Sound volume 0.5 snd_voipvolume 1 // Binds bind "mwheeldown" "+jump" // Other configs from the myfiles folder, remove // if you have them //exec myfiles/binds //exec myfiles/scripts // Check: FPS counter in the main menu = autoexec ran cl_showfps 1 echo autoexec.cfg loaded
Don't want to type? The CS2 Config Generator builds an autoexec with clicks, and the CS2 Binds Generator does the same for binds.
CS2 Config Not Working? How to Fix It
Open the console after exec. It usually tells you what went wrong, and most problems are one of these:
- couldn't exec ..., missing file
- The game didn't find the file. Check the name, the folder and the hidden
.txtat the end. - Unknown command
-
The command doesn't exist in CS2. Many lines from CS:GO configs are dead (
net_graph,cl_forcepreload,mat_queue_mode), and in September 2026 the crosshair commands were renamed. Check withfindplus part of the name. - Command too long. Ignoring.
- One line or alias is longer than about 400 characters. Split it into several aliases.
- Nothing happens online
- Server commands (
mp_*,bot_*, mostsv_*) and anything that needs sv_cheats work only on a server you host. - Settings come back
- Something runs later and overwrites your value: another config, launch options, or you changed the setting in the menu after the config ran.
- Bind does nothing
- Quotes are missing or not closed. A bind with several commands needs them:
bind "f" "cmd1; cmd2".
See How Configs Load (-dev)
Add -dev to launch options and the console shows a loading report at start, including which config files ran. Useful for troubleshooting, but remove it afterwards, it's not meant for normal play.
Will an Update Reset My Config?
Your own .cfg files are not touched by updates. What can change is the game: a renamed command, like the crosshair ones, simply stops doing anything. Keep a copy of your config folder anyway, and if your settings ever go completely wrong, see how to reset all settings in CS2.
Conclusion
A config in CS2 is not about copying pro settings. It's about a setup that loads the same way every time and comes back in a second after a reinstall or a reset. Put the always-on settings in autoexec.cfg, keep practice setups in separate files, use a subfolder and comments, and check with find when a command from an old config does nothing.
Start from your current settings in the .vcfg files, then change things slowly as your game changes.

CS2 Config Location
Game folder vs userdata, and what each .vcfg file stores.
open →
CS2 Console Commands
Practice, bots, HUD, radar and FPS commands that still work.
open →
CS2 Launch Options
What works in launch options and what is dead.
open →
How to Bind Keys in CS2
Bind syntax, toggles and where binds are saved.
open →
CS2 Crosshair Guide
The new pixel crosshair, styles, codes and commands.
open →
CS2 Config Generator
Build an autoexec with clicks instead of typing.
open →CS2 Config Files FAQ
Where do I put a config in CS2?
In ...\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\ or in a subfolder inside it.
How do I run a config in CS2?
Open the console and type exec plus the file name, for example exec config. For a file in a subfolder: exec myfiles/config.
Does autoexec.cfg work in CS2?
Yes. CS2 runs autoexec.cfg from the cfg folder by itself on every start. You don't need to add it to launch options.
What is the difference between config.cfg and autoexec.cfg?
A config with any other name runs only when you exec it or put it in launch options. autoexec.cfg runs on its own at every start, so it's the place for permanent settings.
Why doesn't my config load?
Usually the file is really called config.cfg.txt, it's in the wrong folder, or the name in exec has a typo. The console tells you when it can't find the file.
Can I get banned for using a config?
No. Configs, binds and aliases only run commands the game already has.
Where are my current CS2 settings saved?
In cs2_user_convars_0_slot0.vcfg and cs2_user_keys_0_slot0.vcfg in Steam\userdata\YOUR_STEAM_ID\730\local\cfg\. You can copy values from there into your own config.
Can I share my config with other players?
Yes, it's a text file. They put it into their cfg folder and run it. Values like sensitivity and crosshair are personal though, so adjust them.