The beginner’s guide to setting up autoexec files in CSGO

By Nick Johnson


Dec 31, 2019

Reading time: 8 min

Counter-Strike: Global Offensive is one of the most customizable titles in modern gaming, even at eight years old. At the heart of that customization is the autoexec.cfg file.

An autoexec can do basic things, like making sure that all of a player’s settings are saved. Every time Counter-Strike starts, it reads a file called config.cfg. This configuration file tells the game what settings to load.

If the in-game settings don’t match the ones in the config.cfg, CSGO uses the commands in the file over those set in the client.

There are many upsides to using an autoexec.cfg. One is that a simple drag and drop is all that’s needed to restore the player’s settings after a fresh install, saving both time and effort. Plus, long-time CSGO players often have obscure settings changed to specific values. If the player already has a list of them, they are much easier to recover.

Autoexecs are the only way users can use “alias” commands, like jump-throws. It all seems complicated, but users shouldn’t be afraid of making mistakes. There’s nothing here that can make your game unplayable.

CSGO autoexec for beginners & hidden file extensions

Beginners that haven’t explored Counter-Strike’s files in the past might need to do a quick step in order to have their autoexec.cfg works correctly.  It sounds scary, but it’s done in two easy steps.

First, Windows 10 users should type “File Explorer” into the search bar, select it and then click the “View” tab in the upper right.

Under View, make sure the box on the right next to “File Name Extensions” is checked and close the window. All files will now show their file type behind their names and allow users to change one type into another. 

This forces Windows to show the file extensions and allows the player to save the final autoexec as the correct .cfg file type. 

Making a CSGO autoexec and where to put it

First, players will need a text editor. Windows’ built-in Notepad can work fine, but the free Notepad++ is both more powerful and easier to use. Whichever a player chooses, the first step is to navigate to Steam’s “Users” folder, located here:

  • (Drive):\ProgramFiles(86)\Steam\userdata\[PLAYER STEAM ID]\730\local\cfg\

Making a desktop shortcut to this path is recommended, as players will return here often. (Drive) is the hard drive where Steam is installed, and [PLAYER STEAM ID] should be replaced by the user’s Steam ID. A player can easily find their steam ID by logging into Steam and viewing their inventory in the Steam Client. Clicking the blue “Trade Offers” button in the top-right, followed by “Who can send me trade offers,” will take users to a page containing their trade link.

It looks like this:


The hashtags after “/new/?partner=” are the player’s Steam ID, and correspond to a folder in \userdata\. Once inside the correct User folder, players should choose “730,” then “local,” and finally “cfg.” Users should now see the configuration files that Counter-Strike uses to store information. 

This is where users will create the autoexec.cfg file.

Creating a CSGO autoexec and beginner commands

Right-click anywhere inside this folder and choose “New” and then “Text Document.” A new file called “New Text Document.txt” will appear. If players can’t see the .txt at the end, they should check the above section on how to enable hidden file extensions.

Once inside, the bright, blank space can be a little overwhelming for newcomers. It won’t be so blank or intimidating in a few seconds, though. The easiest way to start writing an autoconfig is by using settings and commands the user already knows, so we’ll start with some common crosshair commands.

There is a full list at the end, but users should understand what they’re doing. The more a player understands, the more they can do with their autoexec.cfg.

The “//” at the beginning or end of a line tells CSGO that words after the “//” aren’t commands. CSGO won’t read that text, so these markers let users label sections and keep their autoexec tidy.

Players can even describe a command using the “//,” as seen in the first example. The bullet points are for readability only; users should not include them. They should, however, include the quotation marks.

// Crosshair Settings 

  • cl_crosshaircolor “1” \\ sets the crosshair color
  • cl_crosshaircolor_b “50”
  • cl_crosshaircolor_g “`150”
  • cl_crosshair_outlinethickness “1”
  • cl_crosshaircolor_r “50”
  • cl_crosshairdot “0”
  • cl_crosshairgap “-1”
  • cl_crosshairsize “4”
  • cl_crosshairstyle “4”
  • cl_crosshairthickness “.3”
  • cl_crosshair_friendly_warning “0”

Some of these commands are straight from the basic crosshair and console commands guide. Others, like “cl_crosshair_friendly_warning ‘0’”, are new. That command disables the yellow “x” that appears when a player’s crosshair is pointing at a teammate. Users should replace the values in the examples with their own crosshair settings. 

Next up, adding a command to make sure CSGO uses raw mouse input.

// Mouse Settings

  • m_rawinput “1”

This command does exactly what it looks like. “m_rawinput “1” ensures that CSGO ignores any changes to the Windows sensitivity and instead takes information directly from the player’s mouse. Following that, radar changes are on the table.

// Radar Settings

  • cl_radar_always_centered “0”
  • cl_radar_icon_scale_min “0.6”
  • cl_radar_rotate “1”
  • cl_radar_scale “0.7”
  • cl_radar_square_with_scoreboard “1”

For those who don’t know, these commands affect the size and scale of the radar and icons, whether it rotates with the player or not, and if CSGO forces the radar to keep the player in the center. Players can find a more in-depth look at radar commands here. Now, let’s take one something a little more tricky.

Here is a list of simple command rates. These commands instruct the game on how often to communicate with the server and how often the server communicates with the client.

// Command Rates

  • cl_cmdrate “128”
  • cl_updaterate “128”

Valve matchmaking servers are only 64-tick, meaning that data is transferred back and forth from the player to the server 64 times a second. Third-party services like FACEIT and ESEA servers utilize 128-tick servers, meaning the player’s computer and the server talk to one another at twice the normal rate. 

These commands only set the maximum rates; a server will always force the values to what the server is set to use. These commands are a stop-gap in case something goes wrong.

Let’s get a basic video setting into the autoexec that allows a user to cap or uncap CSGO’s FPS.

// Video Settings

  • fps_max “0”

This command removes the cap the game puts on FPS. In a game where a high framerate is the difference between beating a peek and getting destroyed by it, the setting is king. That said, it won’t magically increase a player’s framerate. It just makes sure that the ceiling is so high that the player probably won’t reach it.

By replacing “0” with another number, players can cap CSGO’s frames per second at any number the want.

But how can players know that their config files are working? Player’s can prompt the game to display a message acknowledging it has loaded.

// Echo command

  • echo AUTOEXEC Loaded….

Finally, the autoexec needs to overwrite the config.cfg file. Here’s the command used to do that.

// Write Config

  • host_writeconfig

Complete CSGO autoexec.cfg configuration

After all is said and done, players should have something that resembles this.

// Autoexec

// Crosshair Settings 

cl_crosshaircolor “1” // sets the crosshair color

cl_crosshaircolor_b “50”

cl_crosshaircolor_g “`150”

cl_crosshair_outlinethickness “1”

cl_crosshaircolor_r “50”

cl_crosshairdot “0”

cl_crosshairgap “-1”

cl_crosshairsize “4”

cl_crosshairstyle “4”

cl_crosshairthickness “.3”

cl_crosshair_friendly_warning “0”

// Mouse Settings

m_rawinput “1”

 // Radar Settings

cl_radar_always_centered “0”

cl_radar_icon_scale_min “0.6”

cl_radar_rotate “1”

cl_radar_scale “0.7”

cl_radar_square_with_scoreboard “1”

 // Command Rates

cl_cmdrate “128”

cl_updaterate “128”

 // Video Settings

fps_max “0”

 // Echo command

echo AUTOEXEC Loaded….

// Write Config


Saving and executing a CSGO autoexec

Now that all the writing is done, players should save the autoexec. This is where hidden file extensions come in, and its the most important part. Clicking on File and then “Save As” should bring up the Save window with the “New Text Document.txt” in the filename area. Rename the file as “autoexec.cfg” and click save.

Checking the CSGO autoexec and troubleshooting

After that, players should close the text editor, start CSGO, and open the console. If they see the “echo” message they put in their autoexec, that’s a good sign! 

Just to be sure, users can start an offline game with bots or a workshop map. Once loaded in, they can open the console and type “cl_cmdrate.” If the autocomplete says “cl_cmdrate 128, that means that their autoexec is indeed loaded and working. 

If users don’t see the echo message and the command rate reads 64, there are a couple of options. The first one involves using CSGO’s launch options to force the game to load the autoexec. 

To do that, players should click on CSGO in the Steam Library, click “Properties,” and then select “Set Launch Options” near the bottom of the first screen. Players may have some useful options already in here from the Launch Options guide, but even if they don’t, the process is simple.

Users should add “+exec autoexec.cfg” to the launch options without the quotations marks. Once again, they can run through the above steps to test their configuration. 

There are many reasons why an autoexec won’t run. Sometimes, CSGO has been installed several times, and other autoexecs or configs are being used instead of the correct ones. Looking for and deleting old CSGO files on different hard drives leftover from installing or uninstalling the game normally sorts them out.

The autoexec is a powerful tool, and with the help of this guide you should be able to take full advantage of it.