Half-Life: All Cheats and How to Activate Them
Complete list of Half-Life cheat codes organized by category—from god mode and noclip to gravity manipulation and weapon spawns. Learn how to enable the console and use every cheat.
Half-Life Cheats: Complete List & How to Activate Every Code
To use cheats in Half-Life, press the tilde key (~) to open the console, type sv_cheats 1 and hit Enter, then enter any cheat command. God mode is god, noclip is noclip, and full weapon unlock is impulse 101. Every code in the game works through this same console — there are no menu toggles or separate launchers needed.
Below is the full breakdown, organized by what you’re actually trying to do: survive longer, move freely, arm yourself to the teeth, or skip straight to a specific chapter.
How to Enable the Half-Life Cheat Console
The console isn’t active by default in all versions. If pressing ~ does nothing, go to Options → Keyboard → Advanced and check Enable developer console. Once that’s on, the tilde key will pull up the grey input box at any point during gameplay — even mid-combat.
With the console open, type:
- sv_cheats 1 — activates cheat mode
- sv_cheats 0 — disables it again
You need to do this every session. Closing the game resets the flag. On Steam’s GoldSrc version (the current standard as of January 2025), sv_cheats 1 works without any launch parameters — unlike some older retail builds that required -dev in the launch options.
Fair warning: enabling cheats disables Steam achievements for that session. If you care about the achievement for completing the game on Hard, do a clean run first.
God Mode, Noclip, and the Cheats You’ll Actually Use
These are the high-impact codes. Most players are here for one of three things: invincibility, free movement, or visibility in dark areas. All three are covered in a single table.
| Effect | Command | Notes |
|---|---|---|
| God mode (invincibility) | god | Toggle — type again to turn off |
| No clipping (fly through walls) | noclip | Toggle — essential for map exploration |
| Enemies ignore you | notarget | Toggle — NPCs won’t react unless attacked |
| Bright lighting (no flashlight needed) | lambert -1.0001 | Illuminates everything flat |
| Full brightness, no shadows | r_fullbright 1 | Turn off with r_fullbright 0 |
| Third-person camera | chase_active 1 | Back to first-person: firstperson |
| Kill yourself instantly | kill | Useful for escaping stuck geometry |
The notarget cheat is underrated for exploration. Combine it with noclip and you can walk through every chapter without a single combat encounter — useful if you’re hunting secrets or studying level design rather than playing normally.
Gravity and Movement Cheats
Half-Life runs on GoldSrc, which means gravity is a single server-side variable: sv_gravity. The default value is 800 — roughly matching normal Earth gravity in Valve’s unit system. Lower it and you get floaty, extended jumps. Set it to zero and Gordon Freeman becomes effectively weightless.
| Effect | Command |
|---|---|
| Default gravity | sv_gravity 800 |
| Moon-like low gravity | sv_gravity 200 |
| Zero gravity (float freely) | sv_gravity 0 |
| Heavy gravity (can’t jump) | sv_gravity 999 |
Any integer between 0 and 999 works. Speedrunners occasionally set gravity to around 100–150 for extended bunny-hop chains — though at that level the physics start producing some unpredictable interactions with slopes and doors. sv_gravity 0 is technically valid but makes several puzzle sections unsolvable in their intended way, since physics objects no longer fall correctly.
One more movement code worth knowing: sv_maxspeed 999 removes the default speed cap (normally 270 units/sec for walking). Stack this with low gravity for genuinely absurd traversal.
Weapons and Items Cheat Codes
The give command spawns any weapon or item directly into your inventory. Syntax is always give [entity_name]. No spaces in entity names — and capitalization doesn’t matter in GoldSrc’s console.
| Item | Command |
|---|---|
| Crowbar | give weapon_crowbar |
| Glock (9mm pistol) | give weapon_9mmhandgun |
| 357 Magnum | give weapon_python |
| MP5 submachine gun | give weapon_mp5 |
| Shotgun (SPAS-12) | give weapon_shotgun |
| Crossbow | give weapon_crossbow |
| Gauss Rifle (Tau Cannon) | give weapon_gauss |
| Egon Gun (Gluon Gun) | give weapon_egon |
| Rocket Launcher (RPG) | give weapon_rpg |
| Hornet Gun | give weapon_hornetgun |
| Laser Tripmine | give weapon_tripmine |
| Satchel Charge | give weapon_satchel |
| Hand Grenade | give weapon_handgrenade |
| Long Jump Module | give item_longjump |
| HEV Suit | give item_suit |
| Health kit (+15 HP) | give item_healthkit |
| HEV Battery (+15 armor) | give item_battery |
Ammo give commands work separately from weapon spawns:
- give ammo_9mmclip — pistol ammo
- give ammo_357 — Magnum rounds
- give ammo_buckshot — shotgun shells
- give ammo_mp5grenades — MP5 grenade launcher rounds
- give ammo_rpgclip — rockets
- give ammo_crossbow — crossbow bolts
The Long Jump Module (give item_longjump) is easy to overlook but critical if you’re replaying early chapters where you haven’t picked it up yet. Without it, crouched long-jumps simply don’t trigger.
Impulse Commands Explained
Impulse commands are a separate category — they don’t follow the give syntax and most of them don’t have obvious names. They’re direct numeric codes that trigger specific engine-level functions. Some are debug leftovers from development; a few are genuinely useful.
| Command | Effect |
|---|---|
| impulse 101 | Gives all weapons, full ammo, and armor. Type again to refill ammo |
| impulse 76 | Spawns a Human Grunt ally at your position |
| impulse 102 | Spawns gibs (gore chunks) — cosmetic only |
| impulse 103 | Shows stats for whatever monster you’re looking at |
| impulse 104 | Lists all global entities currently loaded |
| impulse 105 | Deafens enemies — they can’t detect the player by sound |
| impulse 106 | Displays model name of whatever you’re looking at |
| impulse 107 | Shows texture name of the surface you’re facing |
| impulse 109 | Takes control of all on-screen monsters (version-dependent) |
| impulse 195 | Displays AI node information (developer tool) |
| impulse 202 | Spawns a blood splatter effect |
| impulse 203 | Deletes the NPC or object you’re currently targeting |
impulse 101 is the one everyone knows. But impulse 203 is arguably more useful in specific situations — it removes a target NPC permanently, which matters if you’ve accidentally triggered a friendly-fire chain and a scientist won’t stop running at you. impulse 109 (monster control) has inconsistent behavior across Steam versus older retail builds; don’t rely on it.
The debug impulses (103, 106, 107) were originally internal Valve tools and got left in. They’re genuinely interesting if you’re studying the game — impulse 107 will tell you the exact texture name under your crosshair, useful for anyone building custom maps.
Map Teleport Codes
Type map [mapname] in the console to jump directly to any chapter. This bypasses save state entirely — you’ll spawn at the map’s default starting point with default inventory, not your current loadout. Combine with impulse 101 immediately after loading to restore a full kit.
| Chapter | Map Codes |
|---|---|
| Black Mesa Inbound | c0a0, c0a0a, c0a0b, c0a0c, c0a0d, c0a0e |
| Anomalous Materials | c1a0, c1a0a, c1a0b, c1a0d, c1a0e |
| Unforeseen Consequences | c1a0c, c1a1, c1a1a, c1a1b, c1a1c, c1a1d |
| Office Complex | c1a2, c1a2a, c1a2b, c1a2c, c1a2d |
| We’ve Got Hostages | c1a3, c1a3a, c1a3b, c1a3c, c1a3d |
| Blast Pit | c1a4, c1a4b, c1a4d, c1a4f, c1a4g, c1a4i, c1a4j, c1a4k |
| Power Up | c2a1, c2a1a, c2a1b |
| On a Rail | c2a2, c2a2a, c2a2b1, c2a2b2, c2a2c, c2a2d, c2a2e, c2a2f, c2a2g, c2a2h |
| Apprehension | c2a3, c2a3a, c2a3b, c2a3c, c2a3d, c2a3e |
| Residue Processing | c2a4, c2a4a, c2a4b, c2a4c |
| Questionable Ethics | c2a4d, c2a4e, c2a4f, c2a4g |
| Surface Tension | c2a5, c2a5a, c2a5b, c2a5c, c2a5d, c2a5e, c2a5f, c2a5g, c2a5w, c2a5x |
| Forget About Freeman | c3a1, c3a1a, c3a1b |
| Lambda Core | c3a2, c3a2a, c3a2b, c3a2c, c3a2d, c3a2e, c3a2f |
| Xen | c4a1 |
| Gonarch’s Lair | c4a2, c4a2a, c4a2b |
| Interloper | c4a1a, c4a1b, c4a1c, c4a1d, c4a1e, c4a1f |
| Nihilanth | c4a3 |
| Conclusion | c5a1 |
Surface Tension is the largest chapter in the game — ten separate map segments. If you’re trying to reach a specific area within it, noclip after loading is the fastest way to orient yourself since the spawn point isn’t always intuitive.
One edge case worth noting: c0a0 (Black Mesa Inbound) loads but the tram sequence runs as a cutscene with no player control for several minutes. If you just want to skip the intro and get into actual gameplay, load c1a0 directly instead.
Frequently Asked Questions
Do Half-Life cheats work in multiplayer?
sv_cheats 1 can only be set by the server host. On a server you don’t control, you can’t enable cheats. In single-player there’s no restriction beyond the console needing to be active.
Why isn’t my console opening when I press ~?
The console has to be enabled first. Go to Options → Keyboard → Advanced and tick Enable developer console. Some non-English keyboard layouts also map the console key differently — try the key just left of 1 on the number row if tilde doesn’t work.
Does sv_cheats 1 disable achievements permanently?
No — only for that session. Quit and reload the game without entering sv_cheats 1 and achievements work normally again.
Why doesn’t impulse 109 work for me?
Impulse 109 (monster control) has inconsistent behavior between versions. Community testing suggests it works more reliably in older GoldSrc builds than in the current Steam version. It’s essentially a broken debug tool at this point.
Can I use the map command to skip the G-Man ending?
Yes — loading c5a1 takes you to the Conclusion chapter. But the ending sequence in c5a1 is scripted and runs regardless. There’s no console command to skip the G-Man cutscene itself.
What’s the fastest way to get all weapons without typing multiple give commands?
impulse 101 gives every weapon and full ammo in a single command. Entering it a second time refills ammo again. That’s the intended shortcut — no need to give weapons individually unless you want something specific.