
Valve rebuilt Counter-Strike 2's crosshair system in the Rush Hour update on 22 September 2026, then explained how the new system works in a follow-up update on 23 September. Crosshairs are now measured in real pixels instead of an arbitrary scale, they live in a new Crosshair/Scopes settings tab, and the default crosshair changed to Dynamic Quad. Valve never wrote down the practical consequence: players and outlets report that saved crosshair codes and old console configs no longer produce the crosshair they used to.
What Valve changed in CS2 crosshair settings
The 22 September patch notes list four crosshair changes:
- Crosshairs have been updated to be resolution independent
- A new "Crosshair/Scopes" tab in the Settings menu, with updated crosshair settings
- New crosshair styles were added
- The default crosshair was updated to "Dynamic Quad," which Valve says "better represents weapon accuracy"
The day-after update explained the mechanism. In Valve's words, "the new crosshair thickness and length units are in pixels. In the past, the values were defined with an arbitrary scale and converted to pixels based on display resolution so the same value would result in different pixel counts at different resolutions."
The numbers in the crosshair menu used to depend on your monitor. They now mean pixels.
Why your old crosshair code stopped working
Valve's notes never say codes were invalidated. But moving from an arbitrary scale to pixel units means the same stored number no longer describes the same crosshair — and that is exactly what players reported within hours.
Escorenews published a dedicated explainer built around the in-game "Invalid or old crosshair code" error, reporting that settings were reset and old codes stopped working after the Rush Hour update. Egamersworld reported the same, adding that a saved code now has to be rebuilt by hand in the new tab. Developers hit it too. SyberiaK, who maintains the open-source crosshair-code tool csxhair, opened a tracking issue on 23 September: after build 1.41.8.2, "old sharecodes ultimately seem to be not working or resulting in differently looking crosshairs." His in-progress findings have `cl_crosshairsize` renamed to `cl_crosshair_length`, `cl_crosshairgap` to `cl_crosshair_gap` and `cl_crosshairthickness` to `cl_crosshair_thickness`, with `cl_crosshair_outlinethickness` removed.
Treat the breakage as widely reported rather than officially confirmed — there is no Valve statement and no official migration path.
How to set up your CS2 crosshair under the new system
The upside is that a crosshair is now describable in plain numbers. Valve gives the worked example: "if you want a 1-pixel wide crosshair with a bar length of 8 pixels and a gap of 4 pixels, then you would set: thickness = 1, length = 8, and gap = 4."
Rebuilding means opening the Crosshair/Scopes tab and dialling in what you want in pixels, rather than hunting for the old numeric equivalent. The system also automatically rescales when your display resolution changes: Valve's example is a crosshair set at 1280x720 with a thickness of 2 pixels, which rescales to 4 pixels at 2560x1440 "so that it remains proportionally the same as when it was configured."
What the 23 September follow-up added
The follow-up also patched the system:
- An option to draw half-outlines, which draws only the top-left portions of a crosshair's outline
- A fix for a bug preventing a 0 gap width from being respected
- A new static square crosshair style
- The minimum dynamic spread distance reduced to 64 pixels
CS2 news account Thour (@ThourCS2) posted on 23 September that the outline option maps to `cl_crosshair_drawoutline` in console: 0 for no outline, 1 for a full outline, 2 for a half outline. Valve did not publish those console values, so treat the half-outline "2" as a community report.
The 64-pixel line matters most to competitive players. Valve explains that the new dynamic styles "will show you the real weapon spread and inaccuracy," while the Dynamic Spread Limit setting caps how far the crosshair spreads at maximum inaccuracy. The 64-pixel baseline exists to cover the widest-spreading weapons. A dynamic crosshair in CS2 is now closer to a live accuracy readout than a stylistic preference.
The same update also retuned Rush, the new 3v3 mode. The full list of what shipped on 22 September is in our CS2 Rush Hour update patch notes, including the Premier map-pick rework and silent reloads.
Why the timing is awkward
The timing is tight. ESL Pro League Season 24 opens on 3 October at the Spodek Arena in Katowice, eleven days after the 22 September change, and it and the rest of the remaining 2026 CS2 tournament calendar run on the same client build as matchmaking. That leaves professional players re-deriving crosshairs they have used for years in the run-up to an S-Tier event rather than in the off-season. Expect circulated "pro crosshair code" lists to be unreliable for a while: any list published before 22 September describes the old scale.
FAQ
Why did my CS2 crosshair reset after the update? No deletion has been announced. Valve did confirm that thickness, length and gap now use pixel units instead of the old arbitrary scale, so a stored value no longer produces the same crosshair. Outlets and bug reports describe settings resetting and old codes returning an invalid-code error.
What is the new default CS2 crosshair? Dynamic Quad. Valve changed the default in the 22 September 2026 update and describes it as better representing weapon accuracy.
Where are the CS2 crosshair settings now? In a new "Crosshair/Scopes" tab in the Settings menu, added in the same update.
What does Dynamic Spread Limit do? It caps how far a dynamic crosshair spreads at maximum inaccuracy. Valve reduced the minimum dynamic spread distance to 64 pixels, a baseline covering the weapons with the largest spread.
Can I still use a crosshair code from before the update? There is no official migration path. Reported experience is that pre-update codes fail, and the fix is rebuilding the crosshair in the new tab using pixel values.
Sources: Counter-Strike 2 update notes for 22 and 23 September 2026 via the official Steam news feed for appid 730; FPSHUB, Escorenews and Egamersworld coverage; the SyberiaK/csxhair issue tracker for the console-variable changes; the @ThourCS2 post of 23 September 2026 for the half-outline console values; Liquipedia for ESL Pro League Season 24 dates. Retrieved 24 September 2026.


