CS2 Config: Where autoexec.cfg Goes, and What Actually Helps

The folder is named after a game that no longer exists, your old CS:GO config half-works without telling you, and a good share of the advice you will find changes nothing measurable. Here is what the file does, where it goes, and which settings are worth touching.

Last updated 1 August 2026 · Counter-Strike 2, Source 2

Where the CS2 config folder is

This is the part that stops most people, and it is not their fault. The folder is still named after CS:GO:

Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg

CS2 was shipped as an update to the same Steam app rather than a new one, so the install directory kept the old name. If you are looking for a folder called Counter-Strike 2, you will not find one.

Note the \game\ segment. The CS:GO path went straight from the install folder into csgo\cfg. In CS2 there is an extra level, so guides written before 2023 send you to a folder that still exists but that CS2 no longer reads. A file dropped there does nothing, and nothing tells you why.

Quickest way to be certain: right-click CS2 in Steam → Manage → Browse local files. Steam opens the real install folder, whichever drive it is on. From there it is gamecsgocfg.

The cfg folder is the one CS2 reads on launch. Any file named autoexec.cfg in it is executed automatically, which is the whole mechanism — there is nothing to install and nothing to run.

Why your CS:GO config does not fully work

CS2 runs on Source 2. CS:GO ran on Source. That is not a version bump, it is a different engine, and a number of commands people had in their configs for years were removed rather than changed.

The reason this is confusing is how the console handles it: CS2 ignores commands it does not recognise. No error box, no warning in game. Your config loads, the game starts, and you assume everything applied. Some of it did. The rest was read and discarded.

Two categories worth knowing about:

If you inherited a config from a friend or a video, assume roughly a third of it is decoration. That is not a criticism of whoever wrote it — it was correct when it was written, for a game that no longer exists in that form.

Sub-tick, and why the old netcode advice is dead

CS:GO ran on a 64-tick server loop. Your shot was processed on the next tick, which meant the exact moment inside that window mattered, and an entire culture of interpolation tuning grew around shaving milliseconds off it.

CS2 timestamps your input between ticks. The server knows when you actually clicked, not merely which tick it landed in. That is what sub-tick means in practice, and it removes the problem the old settings existed to solve.

So the honest answer on the famous ones: cl_interp, cl_interp_ratio and their neighbours no longer buy you registration. What is still worth setting is the connection's data budget:

SettingWhat it doesWorth it?
rate 786432 Raises the ceiling on bytes per second the client will accept from the server. The default is conservative for modern connections. Yes, on any broadband line
cl_interp_ratio 1 Keeps interpolation at the lower of the two sane values. Harmless, and the safe side of a setting people still ask about. Set it and stop thinking about it
cl_predict 1 Client-side prediction on. This is the default; it appears in configs mainly to undo someone else's config. Only if something turned it off
mm_dedicated_search_maxping 80 Caps the ping of servers matchmaking will place you on. Not performance — but a 120 ms server ruins more rounds than any graphics setting. Yes, and it is underrated

The settings that change frame pacing

Average FPS is the number everyone quotes and the least useful one. What you feel is frame time consistency — whether each frame takes about as long as the last. A steady 200 feels better than a spiky 260, and this is where a config earns its place.

fps_max, and the case for capping below your refresh rate

Leaving the frame rate uncapped sounds free. It is not: the GPU renders whatever it can, the interval between frames wanders, and you get the stutter people describe as "it runs at 300 but feels worse than 144".

A cap a little under what your machine can sustain gives the frame pacer headroom to work with. On a 144 Hz monitor with a card that manages ~200, capping near your refresh is usually smoother than letting it run loose, even though the average FPS number goes down. Lower average, better feel — which is why benchmark screenshots are a poor way to judge a config.

There is a second cap worth setting, and almost nobody does:

fps_max_ui 288  // menus and scoreboard, not the game

The menu is not where you need frames, but by default it will happily render as fast as it can, heating the card for no benefit. Setting it to roughly twice your refresh is plenty.

Not sure what your machine sustains? Our generator works the cap out from your actual CPU, GPU and refresh rate — from €1.49 for one game.

See the plans

engine_no_focus_sleep 0

By default the engine throttles itself when the window loses focus. Reasonable behaviour, except that alt-tabbing back can leave you a moment of hitching while it spins up again. Setting this to 0 keeps the engine running at full rate in the background — it costs power for a smoother return.

The visual noise cvars

These do not change your average FPS in any way you would notice. They remove things that appear at the exact moment you are trying to see something:

Notice what is not in this list: nothing that changes your sensitivity, your crosshair, your keybinds or your viewmodel. Those are preferences, not optimisation, and a config that quietly rewrites them is doing you harm.

What a config cannot fix

Worth saying plainly, because it is the difference between a config helping and a config disappointing you.

If your CPU is what limits you, no combination of graphics settings will move your frame rate much. CS2 is heavily CPU-bound compared to most modern games — it is a competitive shooter with simple geometry and a lot of simulation. Lowering shadows on a machine held back by its processor changes almost nothing, which is exactly why people conclude "configs are placebo" after trying one on the wrong machine.

Find out which side you are on first. Our bottleneck calculator is free, needs no account, and takes about fifteen seconds — pick your CPU, GPU and resolution and it tells you which part is the limit and by how much. If it says you are CPU-bound at 1080p, spend your time on the network and frame-pacing settings above and ignore the graphics advice entirely.

Sensitivity: converting to and from CS2

If you play more than one shooter, this is the practical part. Sensitivity is not comparable across games because each engine turns your mouse a different amount per count. The figure that matters is the yaw value:

GameYaw per count
Counter-Strike 2 / CS:GO0.022
Apex Legends0.022
VALORANT0.07

Because CS2 and Apex share 0.022, the same number means the same physical motion in both — no conversion needed. VALORANT does not, which is why the same sensitivity feels roughly three times faster there.

Converting between the two:

// CS2 -> VALORANT
valorant_sens = cs2_sens * 0.022 / 0.07   // so CS2 2.0 -> 0.63

// VALORANT -> CS2
cs2_sens = valorant_sens * 0.07 / 0.022   // so VALORANT 0.4 -> 1.27

Keep your DPI the same on both ends, or the maths is meaningless. And convert once, then leave it alone — the benefit of matched sensitivity is muscle memory, which you destroy by adjusting it every week.

Is a config file safe? Can you get VAC banned?

No, and it is worth understanding why rather than taking our word for it.

An autoexec.cfg is a plain text file containing console commands that the game itself accepts, placed in a folder the game reads by design. Nothing is injected into the process, no game file is modified, and no external program runs. The same commands typed into the developer console one at a time would have identical effect.

Anti-cheat looks for code reading or writing game memory, and for programs intervening between you and the game. A text file the game chose to read is none of those things. Valve has shipped the autoexec mechanism for two decades and professional players use it at LAN events.

The reversibility test is the useful one: delete the file, restart the game, and everything is exactly as it was. Nothing written to a persistent config, nothing left behind. If a tool cannot be undone that easily, that is when to be suspicious.

Writing your own, in four steps

Everything above is enough to do this by hand, and you should know how even if you never do:

  1. Open Notepad. Not Word — it saves formatting the game cannot read.
  2. Put in the settings you want, one per line. Anything after // is a comment and ignored.
  3. Save as autoexec.cfg into the cfg folder from the first section. In Notepad's save dialog set Save as type to All Files, or you will end up with autoexec.cfg.txt, which the game will not read. Turn on file extensions in Explorer if you are not sure.
  4. Launch CS2 and type one of your settings into the console with no value — it will print the current value. If it matches what you wrote, the file loaded.

That last step is the one people skip, and it is the only one that proves anything. A config in the wrong folder and a config that loaded look identical from the main menu.

Where the numbers come from

The settings above are the general case. The two that depend on your specific machine are the ones that matter most: fps_max has to relate to what your hardware actually sustains and to your monitor's refresh rate, and how far below to cap depends on which component limits you.

That is the part a guide cannot do for you, and it is what our generator does — you enter your CPU, GPU, RAM, resolution and refresh rate, and it writes the file with those numbers filled in, plus a report explaining each line and which profile was used. Same commands as above, arithmetic done against your parts rather than a generic machine.

Want it written for your exact hardware?

Pick a plan, enter your specs, download the file. Same commands as this page, with the numbers worked out against your parts and a report explaining every line.

Counter-Strike 2 from €1.49

See the plans
No account needed One-off payment, no subscription Refund if it does nothing for you Delete the file to undo it
Or start with the free bottleneck calculator to see whether your CPU or GPU is the limit.