Skip to content
CS2 crosshair guide

CS2 Autoexec Crosshair Config Guide

Store tested CS2 crosshair commands in autoexec.cfg and diagnose file path, execution order, and overrides.

Last reviewed 2026-07-25
Maintained by the xhair.pro data team · See our data method

autoexec.cfg is for commands you have already tested and want to keep consistent. Do not put temporary crosshair experiments there, because every launch can overwrite later menu changes.

Use the correct folder

A common Windows Steam path is:

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

The important part is game\csgo\cfg. Also confirm that the real file name is not autoexec.cfg.txt.

Verify with a minimal file

Start with a few known commands and an obvious console marker:

cl_crosshairstyle 4; cl_crosshairsize 2; cl_crosshairgap -3; echo "xhair autoexec loaded"

After launching, check the console for xhair autoexec loaded. You can also verify that CS2 can find the file manually:

exec autoexec.cfg

If manual execution works but startup loading does not, inspect execution order and launch options. +exec autoexec.cfg can make the execution explicit, but it should not hide an incorrect file path.

+exec autoexec.cfg

Keep the config debuggable

  • Include only settings you changed and understand.
  • Give each crosshair variable one source of truth.
  • Keep share codes as external backups; cfg files store commands.
  • Back up the old file before editing.

When loading fails, check the extension, game\csgo\cfg path, console errors, marker output, and whether another cfg or startup command overwrites the same variables later.

Generate bind cfg files

Build cfg-based crosshair binds before adding stable entries to autoexec.

Continue reading

FAQ

Should every crosshair test go into autoexec?

No. Put only stable settings there; test temporary values in the console or bind tool.

What if autoexec does not load?

Check the file name, folder, launch options, and whether CS2 printed errors in the console.

Do I need +exec autoexec.cfg?

It is useful when you want automatic loading. You can also run exec autoexec manually from console.

Why did my crosshair reset after launch?

Another config may be overwriting your commands, or autoexec may not be loading from the right folder.

Should I store share codes or commands in autoexec?

Store cl_crosshair commands in cfg files. Keep share codes as references outside the config.