CS2 bots usually stand still because a console command is active: bot_stop 1, bot_dont_move 1 or bot_zombie 1. Check those first, since bot_stop 0, bot_dont_move 0 and bot_zombie 0 get bots moving again. If that does not help, the cause is usually bot_quota_mode, a broken navigation mesh on a custom map, or server settings. Below we go through every cause in order and how to fix it, plus the reverse task: setting up frozen bots for practice.
Which Console Commands Freeze Bots in Place?

The first thing to check when your bots won't move is which console commands are currently active (see how to open the console in CS2 if you need it). CS2 has several commands that directly lock down bot AI. A lot of players accidentally enable them while setting up practice configs or copying settings from guides without fully understanding what each command does.
The most common offender is bot_stop 1. It freezes every bot on the map: no movement, no shooting, no actions at all. It is handy for practicing wallbangs or grenade lineups, but if your bots are standing still for no obvious reason, this is the most likely cause. To unfreeze them, just type bot_stop 0 in the console.
The second command to know is bot_dont_move 1. It works differently: bots hold their position but will still shoot back the moment they spot an enemy. This is useful for aim training when you want stationary targets that still fire back. Disable it with bot_dont_move 0.
The third command in this category is bot_zombie 1. With this active, bots neither move nor attack, so they become harmless dummies. It is a convenient way to practice headshots without taking damage. Turn it off with bot_zombie 0.
The main commands that stop bots:
| Command | Effect on Bots | Command to Undo |
|---|---|---|
| bot_stop 1 | Halts all bot actions completely | bot_stop 0 |
| bot_dont_move 1 | Bots hold position but still shoot | bot_dont_move 0 |
| bot_zombie 1 | Bots don't move or attack | bot_zombie 0 |
| bot_crouch 1 | Bots permanently crouch | bot_crouch 0 |
It's worth noting that these commands only work in practice mode or on private servers with sv_cheats 1 enabled. In official modes (Premier, Competitive), Valve has locked bot controls to preserve fair play. For a wider list of useful commands, see our roundup of CS2 console commands. If you've gone through all these commands and your CS2 bots are still frozen, move on to the next possible cause.
Why bot_quota_mode Can Cause Bots to Stop Moving
A less obvious but surprisingly common cause is a misconfigured bot_quota_mode command. This setting controls how the game manages the number and distribution of bots on the server. It has three main values, 'normal', 'fill' and 'match', and each one changes how bots are added to the game.
With 'normal', the game adds bots up to the bot_quota limit but doesn't always activate them on the map correctly. With 'match', the server tries to maintain a set ratio of human players to bots. Problems usually come from an unlucky combination of these values: bots end up standing around waiting for a condition that never triggers.
The most reliable fix is to use the 'fill' value. Setting bot_quota_mode fill tells the server to automatically fill empty slots with bots until it reaches the number specified in bot_quota. This mode behaves the most predictably and rarely causes bots to get stuck.
Step-by-step fix using bot_quota_mode:
Open the console with the ~ (tilde) key.
Type sv_cheats 1 to enable advanced commands.
Enter bot_quota_mode fill.
Set the number of bots you want with bot_quota 5 (or any other number).
Restart the round with mp_restartgame 1.
After doing this, your bots should stop standing around and start moving normally. According to player reports in the Steam Community, switching to bot_quota_mode fill often fixes frozen bots after CS2 updates. For setting bot count and behavior in general, see our guide on how to set up bots in CS2.
How Broken Map Navigation Affects Bot Movement

The third cause is tied to the map's navigation mesh, commonly called the navmesh. This is the invisible system of nodes and pathways that the AI uses to figure out where it can and can't go. On official Valve maps like Dust 2, Mirage, Inferno, or Anubis, the navmesh has been refined over years and almost never causes issues.
Custom Workshop maps are a different story. Map creators don't always set up navigation correctly, which can result in bots standing frozen at certain spots or jumping in place. The AI simply doesn't know where to go next.
Telltale signs of a navmesh problem include bots getting stuck in corners, repeatedly jumping at the same spot, walking into walls, or continuously resetting back to spawn after each failed attempt to move. If you see this behavior, a broken navmesh is the likely cause.
To diagnose it, you can try the command bot_show_nav 1 (requires sv_cheats 1 first). This visualizes the navigation mesh in-game, showing the green squares and lines that bots are supposed to follow. Gaps or missing sections in those lines point directly to the problem.
A player cannot fix a map's navmesh; that is up to the map author. If bots refuse to move on a specific Workshop map, your best option is to switch to an official map or pick another custom map with proper navigation. Tested options are collected in our list of the best CS2 maps with bots.
Server Settings and How They Affect Bot Behavior
The fourth factor involves server-side settings that can indirectly interfere with bot activity. The commands mp_autoteambalance and mp_limitteams control how players are distributed between teams, and a bad configuration can block bots from being added or activated properly.
Setting mp_autoteambalance 1 enables automatic team balancing, which can cause the game to shuffle players or bots around mid-setup. This sometimes results in bots standing idle while waiting to be reassigned. Setting it to 0 disables this behavior and gives you more control.
The mp_limitteams parameter sets the maximum allowed player difference between teams. The default value of 2 can prevent bots from being added if you want to play one-versus-five. Setting mp_limitteams 0 removes the restriction entirely.
Recommended server settings reference table:
| Parameter | Recommended Value | Effect |
|---|---|---|
| mp_autoteambalance | 0 | Disables automatic team shuffling |
| mp_limitteams | 0 | Removes the team size difference cap |
| bot_difficulty | 2 or 3 | Normal / Hard difficulty |
| bot_quota | 5-10 | Total number of bots on the server |
On private servers, admins may intentionally disable bot movement for specific game modes. In the Practice mode launched from the main menu, you have full control over all bot commands. Configuring your server correctly fixes bots standing around (AFK) even when the freeze commands are off.
Keep in mind that in official Valve matchmaking, most of these commands are locked out. Bots only get added automatically when a live player disconnects, and controlling them through the console isn't possible, by design, to keep competitive play fair.
Also keep freeze time in mind: at the start of every round, all players and bots stand still during the buy period (the mp_freezetime setting). That is normal behavior, not a bug.
How to Make Bots Stand Still for Training

Sometimes you actually want bots to stay put. Practicing wallbangs, checking smoke visibility and drilling headshots all require stationary targets that won't run away or take cover.
There's a reliable set of commands for setting up static training bots. Start by enabling advanced commands with sv_cheats 1. Then add bots to the team you want using bot_add_ct or bot_add_t. After that, apply bot_stop 1 to lock them completely in place.
Particularly useful here is bot_place: it puts a bot exactly where your crosshair is pointing. This lets you place targets exactly where you need them to practice specific angles or pre-fires. Combining bot_place with bot_stop 1 gives you full control over where your training dummies end up.
Full command sequence for a training setup:
sv_cheats 1
bot_kick
bot_quota 5
bot_add_ct
bot_stop 1
bot_place
mp_roundtime_defuse 60
sv_infinite_ammo 1
These commands create an ideal practice environment: five stationary bots, infinite ammo, and extended round time. Want to use this setup for grenade lineup practice? Add sv_grenade_trajectory 1 to visualize your grenade's flight path. Maps for that kind of practice are listed in our top maps for grenade practice in CS2.
It is easier to save these commands in a training.cfg file inside the game/csgo/cfg folder. Once the file is created, just type exec training in the console and every setting applies automatically. It saves time and makes it easy to switch between a regular session and a practice setup on the fly.
On the popular Workshop aim training map aim_botz, many players use stationary bots specifically for flick shot and spray control drills. Set up correctly, frozen bots become a useful practice tool rather than a problem.
What to Do If Bots Still Won't Move After Fixing the Commands
If you've checked every command, set bot_quota_mode correctly, and bots are still frozen, work through the steps below.
First, make sure all freeze commands are disabled. Enter each of the following one by one: bot_stop 0, bot_dont_move 0, bot_zombie 0. While you are at it, check bot_difficulty: it affects bot reaction and accuracy, and our guide on increasing bot difficulty in CS2 explains how to set it.
Second, do a full map reset. The command mp_restartgame 1 restarts the round and resets all bot states. If that doesn't help, use bot_kick to remove every bot from the server, then re-add them with bot_add, or bot_add_ct / bot_add_t depending on which team you need them on.
Third, check the current value of bot_quota_mode by entering the command without any parameter. If it's not set to 'fill', change it with bot_quota_mode fill. Then set your desired bot count, for example bot_quota 10 for ten bots.
Fourth, create a proper config file. Navigate to Steam/steamapps/common/Counter-Strike Global Offensive/game/csgo/cfg and create a file called botfix.cfg with the following contents:
sv_cheats 1
bot_kick
bot_quota_mode fill
bot_quota 5
bot_difficulty 2
mp_autoteambalance 0
mp_limitteams 0
bot_stop 0
bot_dont_move 0
Save the file, then type exec botfix in the console and all settings will apply at once. This is more reliable than entering commands one by one since it eliminates typos and skipped lines. If you have never installed a cfg file before, see how to install a config in CS2.
If bots are still not moving in CS2 after all of that, the last resort is verifying your game files through Steam. Right-click CS2 in your library → Properties → Installed Files → Verify integrity of game files. Corrupted navigation or AI script files can sometimes cause bot issues that no console command will fix.

Key Takeaways on Frozen Bots
We've covered all the main reasons why CS2 bots stop moving and how to fix each one. In most cases the solution comes down to a few console commands: disabling bot_stop, setting bot_quota_mode fill, or resetting your server configuration. On the flip side, freezing bots on purpose with bot_place and bot_stop 1 is a useful skill for structured practice. Setting up a config file with the right parameters means you'll never have to type everything out from scratch again. If nothing works, verifying your game files through Steam is the last line of defense.
FAQ
Why are my CS2 bots standing still?
Most often one of bot_stop 1, bot_dont_move 1 or bot_zombie 1 is active, for example from a practice config. Less often the cause is bot_quota_mode, a broken navmesh on a Workshop map, or server settings.
How do I make bots move again?
Enable sv_cheats 1 and enter bot_stop 0, bot_dont_move 0 and bot_zombie 0, then bot_quota_mode fill and mp_restartgame 1. If bots only freeze on one custom map, switch maps.
How do I make a bot stand still?
Enter sv_cheats 1, add a bot with bot_add_ct or bot_add_t and turn on bot_stop 1. Use bot_place to put a bot where your crosshair is. If you want the bot to stay put but still shoot, use bot_dont_move 1.
Do these commands work in matchmaking?
No. Bot control commands need sv_cheats 1 and work in practice mode or on a local or private server. They are locked in Premier and Competitive. To clear bots from a server completely, see how to remove bots in CS2.
