Summary: Master HOI 4 instantly with console commands and XMOD — the safe, one-click tool to unlock cheats, mods, and trainers for a fully enhanced single-player experience.
Hearts of Iron IV (HOI 4) is one of the most complex and rewarding grand strategy games available on PC. Managing entire nations, armies, and economies can be thrilling — but also overwhelming at times. That’s where XMOD comes in.
XMOD is a modern, all-in-one tool for PC gamers that lets you apply cheats, trainers, and mods safely. Instead of manually typing console commands, you can unlock resources, modify armies, speed up research, and experiment with politics — all with one click. Whether you want to test strategies, explore alternate histories, or simply enjoy the game without tedious grind, XMOD is the perfect companion for HOI 4.
In this guide, we’ll also cover the most useful HOI 4 console commands, show you how to enable the console, and provide a comprehensive 2025 command list.
Table of contents
- What Are HOI 4 Console Commands?
- How to Enable the Console in HOI 4
- Most Useful HOI 4 Console Commands
- Full HOI 4 Console Commands List (2025 Edition)
- How to Enhance HOI 4 with Xmod
- Conclusion
What Are HOI 4 Console Commands?

HOI4 console commands are special text codes that let you change or control almost any aspect of Hearts of Iron IV instantly. By typing these commands into the in-game console, you can unlock cheats like unlimited resources, instant research, or faster troop deployment. They’re commonly used to test strategies, fix bugs, or customize gameplay without starting over. In short, console commands give you full power over your nation — perfect for both casual players and modding enthusiasts.
How to Enable the Console in HOI 4
- Launch the Game on PC.
Start Hearts of Iron IV through Steam, GOG, or Paradox Launcher.
2. Open the Console.
Press the ~ (tilde) key — usually found below the Esc key.
-
- If that doesn’t work, try
§,Shift + 2, orALT + 2 + 1depending on your keyboard layout.
- If that doesn’t work, try
3. Type a Command.
Once the console bar appears at the bottom of the screen, type any command (for example, annex GER) and press Enter.
4. Close the Console.
Press ~ again to hide it and continue playing.
Most Useful HOI 4 Console Commands

Now that you know how to open the console, it’s time to explore the most useful commands that can make managing your nation faster, easier, and more efficient.
|
Command |
Description |
|
add_autonomy [country ID] [amount] |
control the autonomy of the chosen country (increase or decrease) |
|
add_equipment [amount] [equipment ID] |
increase the amount of wanted equipment (except naval) |
|
add_party_popularity [ideology group] [amount] |
add the chosen popularity value of a specific party to the ideological group, including communism, fascism, neutrality, or democracy |
|
ai_accept |
make your opponents accept all diplomatic offers |
|
allowdiplo |
use any diplomatic action without providing a specific reason |
instanttraining |
enjoy instant training of your units |
|
nuke [amount] |
give yourself a fine supply of nukes |
|
occupationpaint [country ID] |
take over all lands of the picked country |
|
research_on_icon_click |
immediately unlock the desired technology on the tech tree |
|
teleport [province ID] |
move units to any place on the map |
|
yesman |
accept all diplomatic offers |
Full HOI 4 Console Commands List (2025 Edition)
Here’s the complete and updated list of HOI4 console commands for 2025, including every cheat and function you can use in the game.
| Command Name | Syntax | Description |
|
gain_xp |
gain_xp [amount] | This command can be used to add experience to a Leader/General. The specified amount of experience is added to the Leader/General you currently have selected. |
|
cp |
cp [amount] | This command will add command power (max. 100%). |
|
st |
st [amount] | This command will add stability (max. 100%). You can remove stability by specifying a negative number. |
|
ws |
ws [amount] | This command will add war support (max. 100%). Specify a negative number to remove war support. |
allowtraits |
allowtraits | This command removes restrictions on general trait assignment. Executing this command will allow you to freely assign general traits to commanders, etc. |
|
add_equipment |
add_equipment [amount] [equipment name] | This command can be used to add a specified amount of any equipment other than naval equipment. You can remove equipment by specifying a negative amount. Note: you may need to have researched certain equipment before using it, use either the ‘research all’ (researches all equipment) or ‘research_on_icon_click’ command if this is the case. |
|
add_latest_equipment |
add_latest_equipment [amount] | This command adds the specified amount of equipment to each and every piece of equipment you have unlocked/fully researched (so, every equipment type in your logistics menu). |
|
whitepeace |
whitepeace [country tag] [country tag] | This command instantly makes ‘white peace’ (things return to the way exactly they were before a war started) between the specified countries (specified by their country tag). |
|
teleport |
teleport [province id] | This command can be used to either activate the teleportation tool (if no arguments provided), or instantly teleport any selected ships or armies to the province with the specified ID. |
|
allowdiplo |
allowdiplo | This command allows for the use of any diplomatic action (e.g. declaring war) without justification. |
debug_nuking |
debug_nuking | After executing this command, nuking in any province is permitted, regardless of conditions. |
|
instantconstruction |
instantconstruction | This command enables or disables (toggles) the instant construction cheat, making all construction happen instantly (no longer queues up). |
|
event |
event [event id] [country tag] | This command will start the specified event in the specified country. |
|
research |
research [slot id / ‘all’] | This command can be used to research all equipment, or equipment in a specific technology slot. |
|
research_on_icon_click |
research_on_icon_click | This command will instantly research any technology when its icon is clicked in the technology tree. This command is also known as the ‘instant research’ cheat. |
|
annex |
annex [country tag / ‘all’] | This command starts an annex with the specified country tag (an annex claims their territory for your country). |
|
winwars |
winwars | This command will give your country the maximum war score for all wars it is currently engaged in. |
|
manpower |
manpower [amount] | This command adds the specific amount of man power to your country. |
add_opinion |
add_opinion [source country tag] [target country tag] | This command adds an opinion from the specified country tag to another country. |
|
tag |
tag [country tag] | This command switches your country to the specified country. ‘tag ENG’ would make you play as Great Britain, for example. |
|
observe |
observe | This command enters you into ‘observe’ mode, in which you are set to play no country at all – meaning the entire game plays on auto-pilot. Messages do not show, and the game is not automatically paused. |
|
tdebug |
tdebug | This command enables or disables (toggles) debug mode. In debug mode, IDs for things like states, equipment, provinces, etc are shown when you hover over them which are very useful as they are used in console commands. |
|
spawn |
spawn [unit name/id] [province id] [amount] | NOTE: In order to use this command, you must add ‘-debug’ to your HOI4 launch options – it will not work otherwise. This command can be used to spawn a specified amount of a unit in a province. |
occupationpaint |
occupationpaint [country tag] | If no country tag is specified, this command toggles (enables and disables) occupation painting. If the country tag argument is provided, your country will occupy all land that the specified country owns (but not land that they only occupy). |
|
setowner |
setowner [country tag] [state id] | This command sets the owner of a specified state. |
|
setcontroller |
setcontroller [country tag] [province id] | This command sets the controller of a specified province. |
|
xp |
xp [amount] | This command adds the specified amount of experience (to all experiences: army XP, naval XP and air XP). |
|
pp |
pp [amount] | This command adds the specified amount of political power to your country. |
civilwar |
civilwar [ideology] [country tag] | This command starts a civil war within a country, with the specified ideology. Possible ideologies: ‘fascism’, ‘democratic’, ‘neutrality’ and ‘communism’. |
|
add_party_popularity |
add_party_popularity [ideology group] [amount] | This command adds the specified amount of party popularity to the specified ideology group. Ideology groups are: ‘f’ (fascism), ‘d’ (democratic), ‘n’ (neutrality) and ‘c’ (communism). |
|
set_ruling_party |
set_ruling_party [ideology group] | This command sets the specified ideology group as the ruling party. Ideology groups are: ‘f’ (fascism), ‘d’ (democratic), ‘n’ (neutrality) and ‘c’ (communism). Note that if you wish to change the ruling party of another country, you will first need to switch to them with the tag command. |
|
help |
help [command] | If executed with no arguments (just ‘help’), this command will print a list of commands. If executed with a command as an argument, it will print help for the specified command. |
|
Focus.AutoComplete |
focus.autocomplete | This command allows for instant completion of national focuses. Note that this command will affect the game’s AI. |
|
Focus.NoChecks |
focus.nochecks | This command allows for the ignoring of focus requirements. |
Focus.IgnorePrerequisites |
focus.ignoreprerequisites | This command allows for the ignoring of focus prerequisites. |
|
Decision.NoChecks |
decision.nochecks | This command allows for the ignoring of decision requirements. |
|
instant_prepare |
instant_prepare | NOTE: In order to use this command, you must add ‘-debug’ to your HOI4 launch options – it will not work otherwise. Executing this command will cause naval invasions to skip preparation time. |
|
nu |
nu [amount] | NOTE: This is a Pre-1.5 command. It will not work in later versions. This command adds the specified amount of naval utility to your naval utility count. |
|
nuke |
nuke [amount] | This command adds the specified amount of nukes to your current country. |
|
yesman |
yesman | This command causes country AI to automatically accept any diplomatic offers, regardless of the case. |
|
rendertype |
rendertype | This command prints the render type (backend) that is currently being used for your client. |
tweakergui |
tweakergui | This command opens a tweaker GUI. |
|
add_ideas |
add_ideas [idea name] | This command adds the idea with the specified ID/name to your current country. |
|
reload |
reload [file name] | This command can be used to reload a file without opening and closing your game. Useful if you modify a file to change a setting and don’t want to completely restart your game. Common files: ‘loc’ (localisation files), ‘focus’ (focuses) and ‘landcombat.gui’ (land combat interface). |
|
time |
time | This command prints the current time. |
|
reloadfx |
reloadfx [map / .fx file] | This command (without any arguments) reloads the game shaders. You can optionally specify either a mapname, postfx or filename (ending in .fx). |
particle_editor |
particle_editor | This command opens the particle editor GUI. |
|
testtool |
testtool | This command opens the testing tool. |
|
analyzetheatres |
analyzetheatres | Executing this command will check all threatres in the game for errors. |
|
massconquer |
massconquer | This command opens the mass conquer tool. |
|
deleteallunits |
deleteallunits [country tag] | This command will delete all units (armies and fleets) of the specified country tag. |
aircombat |
aircombat [scenario] [result] [province id] [airbase state id] [airbase state id] [equipment] [equipment] [equipment creator] [equipment creator] | This command initiates an air combat in the specified location from your desired country, airbase and equipment. |
|
theatersrebuild |
theatersrebuild | This command rebuilds all existing theatres. |
|
fronts |
fronts | This command enables or disables (toggles) the visibility of foreign fronts. |
|
aidump |
aidump | This command dumps AI data from your currently selected unit to a log file (for e.g. debugging purposes). |
|
traderoutes |
traderoutes | This command enables or disables (toggles) the visibility of trade routes. |
|
debug_tactics |
debug_tactics | This command enables or disables (toggles) the visibility of the tactics debug tooltip. |
reloadsupply |
reloadsupply | This command reloads all supply systems.. |
|
deltat |
deltat [speed multiplier] | This command will change the speed of animations in the game. The number specified is a multiplier – 2 would double the speed, 0.5 would half the speed. |
|
building_health |
building_health [building type] [state id / province id] [level] [amount] | This command can be used to modify the health of an existing building. |
|
nomapicons |
nomapicons | This command enables or disables (toggles) the visibility of icons in the map. |
|
nopausetext |
nopausetext | This command enables or disables (toggles) the visibility of the pause menu (useful for screenshots). |
|
nextsong |
nextsong | This command skips to the next soundtrack in the in-game music playlist. |
|
combatsound |
combatsound [frequency] | This command can be used to modify the frequency of a random sound being emitted from the combat view. The number given should be between 1 and 50. |
|
morehumans |
morehumans [amount] | This command will the specified amount humans to your current country (or remove if a negative number is specified). |
|
window |
window [open / close] [gui name] | This command opens (‘open’) or closes (‘close’) the GUI with the specified name. |
reloadinterface |
reloadinterface | This command reloads the game interface. |
|
reloadtechnologies |
reloadtechnologies | This command reloads all technologies. |
|
updateequipments |
updateequipments | This command forcefully reloads equipment-related files (/Hearts of Iron IV/common/units/equipment/). |
|
updatesubunits |
updatesubunits | This command forcefully reloads unit-related files (/Hearts of Iron IV/common/units/). |
|
reloadoob |
reloadoob [country tag] | This command reloads the OOB (order of battle) of the country with the specified tag. |
|
update_loc |
update_loc [localisation key] | This command reloads the specified localisation key. |
|
poll |
poll | This command polls valid events. |
pause_in_hours |
pause_in_hours [hours] | This command pauses the game after the specified amount of time. Useful if you want to leave the game running, but not for too long. |
|
add_autonomy |
add_autonomy [country tag] [amount] | This command adds or subtracts from a the specified country’s autonomy level. |
|
testevent |
testevent [event id] [character id] | This command tests the specified ID without triggering it. |
|
resign |
resign | This command, as you might have guessed, causes you to resign from your current position. |
|
add_interest |
add_interest [country tag] | This command adds the country with the specified tag to your interest. |
|
remove_interest |
remove_interest [country tag] | This command removes the country with the specified tag from your interest. |
|
add_diplo |
add_diplo | This command adds diplomatic enroute for your current country. |
PrintSynchStuff |
printsynchstuff | This command prints the current seed of your game. |
|
SetRandomCount |
setrandomcount [count] | This command, if executed without any arguments (just ‘SetRandomCount’), will set the random count to 0. If a number is provided as an argument, the random count will be set to this. |
|
ai |
ai | This command enables or disables (toggles) AI. |
|
human_ai |
human_ai | This command enables or disables (toggles) AI for human countries. |
|
ai_invasion |
ai_invasion | This command enables or disables (toggles) the AI for naval invasion. |
|
ai_accept |
ai_accept | This command enables or disables (toggles) whether or not AI will always accept diplomacy. |
|
fow |
fow [province id] | This command will toggle (enable or disable) FOW (fog of war) either in general, or in the province of the specified ID. To clarify, if this command is executed without any arguments (‘fow’), it will turn off fog of war completely. If a province ID is specified as an argument, fow will only be toggled for that province. |
collision |
collision | This command enables or disables (toggles) the collision debug GUI. |
|
savegame |
savegame | This command forcefully saves the game. |
|
savecheck |
savecheck | This command can be used to check that saving is functioning correctly. It will make a save file named ‘Test_01’, load it, and then save that again as ‘Test_02’. The two files should be the same (in size, etc), if not, there is likely a problem with saving. |
|
IP |
ip | This command prints your IP to the console. |
|
requestgamestate |
requestgamestate | This command prints the gamestate. |
|
nudge |
nudge | This command opens the nuge tool. |
|
mapmode |
mapmode [mapmode id] | This command changes the map mode to the specified type. Map mode IDs: 1 (Default), 2 (Naval), 3 (Air), 4 (Supply), 5 (State), 6 (Resistance), 7 (Resource), 8 (Diplomacy), 9 (Faction). |
|
fullscreen |
fullscreen | This command enables or disables (toggles) fullscreen mode. |
|
prices |
prices | This command prints price info to game.log. |
add_core |
add_core [state id] [country tag] | This command adds the specified state as a ‘core’ of the specified country. A ‘core’ is a state that’s considered to be a rightful part of a country. |
|
remove_core |
remove_core [state id] [country tag] | NOTE: This command has been reported as broken – if it isn’t working for you, it’s due to a fault in the game, not your own! This command removes the specified state as a ‘core’ of the specified country. A ‘core’ is a state that’s considered to be a rightful part of a country. |
|
debug_zoom |
debug_zoom | This command will cause the game to zoom in. |
|
debug_types |
debug_types | This command is an advanced debug tool, it only works if running RTTI. This will print the data type for all dynamic reference objects to console. |
|
debug_show_event_ID |
debug_show_event_id | This command prints the current event ID. |
debug_commands |
debug_commands | This command prints the current ‘commandcount’ to the message.log file. |
|
debug_events |
debug_events | This command will initiate event counting, print data collected from this with the ‘debug_dumpevents’ command. |
|
debug_dumpevents |
debug_dumpevents | This command will print data collected since the ‘debug_events’ command was last executed. |
|
debug_diploactions |
debug_diploactions | This command will initiate diplomatic action logging, print data collected from this with the ‘debug_dumpdiploactions’ command. |
|
debug_dumpdiploactions |
debug_dumpdiploactions | This command will print data collected since the ‘debug_dumpdiploactions’ command was last executed. |
debug_assert |
debug_assert | This command enables or disables (toggles) asserts. |
|
debug_smooth |
debug_smooth | This command enables or disables (toggles) frame smoothing. |
|
debug_nomouse |
debug_nomouse | This command enables or disables (toggles) the scroll wheel’s (mouse) functionality. |
|
debug_terrain |
debug_terrain | This command enables or disables (toggles) terrain. |
|
debug_cities |
debug_cities | This command enables or disables (toggles) cities painting mode. |
|
debug_water |
debug_water | This command enables or disables (toggles) water. |
debug_fronts |
debug_fronts | This command enables or disables (toggles) the interpolated fronts debug screen. |
|
debug_off_front_snap |
debug_off_front_snap | This command enables or disables (toggles) the offensive fronts snapping debug screen. |
|
debug_borders |
debug_borders | This command enables or disables (toggles) borders. |
|
debug_trees |
debug_trees | This command enables or disables (toggles) trees. |
|
debug_rivers |
debug_rivers | This command enables or disables (toggles) rivers. |
|
debug_postfx |
debug_postfx | This command enables or disables (toggles) PostFX. |
|
debug_sky |
debug_sky | This command enables or disables (toggles) the sky. |
debug_tooltip |
debug_tooltip | This command enables or disables (toggles) tooltips. |
|
flagsoutput |
flagsoutput [path] | This command will generate and save a texture atlas file to the specified path. |
|
cityreload |
cityreload | This command reloads cities. |
|
error |
error | This command will print errors from the log file. |
|
version |
version | This command prints the current version of the game to the console. |
debug_nogui |
debug_nogui | This command enables or disables (toggles) the game GUI. |
|
debug_volume |
debug_volume [volume] | This command can be used to adjust the volume of the game. |
|
debug_lockcamera |
debug_lockcamera | This command enables or disables (toggles) the camera lock. |
|
debug_lines |
debug_lines | This command enables or disables (toggles) debug lines. |
|
debug_entities |
debug_entities | This command enables or disables (toggles) entities. |
|
debug_info |
debug_info | This command enables or disables (toggles) the debug info screen. |
|
debug_particle |
debug_particle | This command enables or disables (toggles) particles. |
|
debug_ai_budget |
debug_ai_budget [country tag] | This command prints AI budget information to the console. |
|
debug_textures | This command can be used to print texture debug information to the game log (not console. |
|
debug_texture |
debug_texture | This command enables or disables (toggles) textures like bloom. |
|
debug_wireframe |
debug_wireframe | This command enables or disables (toggles) the game’s forced wireframe. |
|
debug_achievements_clear |
debug_achievements_clear | This command will clear all of your achievements and stats (irreversible). |
|
moveunit |
moveunit [unit id] [province id] | This command moves the specified unit to the specified province. |
spawnactor |
spawnactor [name] [province id] [animation] | This command spawns an actor. If an animation specified as an argument (optional), the character will spawn with that animation. |
|
guibounds |
guibounds | This command enables or disables (toggles) the bounds debug GUI. |
|
cameraclamp |
cameraclamp | This command enables or disables (toggles) the camera clamp. |
|
provtooltipdebug |
provtooltipdebug | This command enables or disables (toggles) province tooltip debug info. The debug info includes things like province ID, state ID, etc when you hover over a province on the map. |
|
reloadweather |
reloadweather [seed] | This command reloads weather. |
|
weather |
weather | This command enables or disables (toggles) weather – if this feature is off, weather will be disabled. |
debug_air_vs_land |
debug_air_vs_land | This command enables or disables (toggles) debug mode for air vs land combat. |
|
mapnames |
mapnames | This command enables or disables (toggles) map names. |
|
profilelog |
profilelog | This command will output profiling data/information to ‘time.log’. |
|
run |
run [file name] | This command runs a list of commands in a specified file. |
oos |
oos | This command makes the client go out of sync. |
|
debug_crash |
debug_crash | This command is a debug tool, when executed it will debug client crashes. |
|
sleep |
sleep [duration] | This command will pause the game for the specified amount of time (seconds). |
|
goto_province |
goto_province [province id] | This command moves the center of your camera to the specified province. |
|
goto_state |
goto_state [state id] | This command moves the center of your camera to the specified state. |
|
trigger_docs |
trigger_docs | This command |
|
3dstats |
3dstats | This command enables or disables (toggles) 3D stats. |
|
hdr |
hdr | This command enables or disables (toggles) high-dynamic-range imaging. |
hdr_debug |
hdr_debug | This command enables or disables (toggles) high-dynamic-range imaging debugging. |
|
srgb |
srgb | This command enables or disables (toggles) color debugging. |
|
bloom |
bloom | This command enables or disables (toggles) bloom. |
|
PostEffectVolumes.Default |
posteffectvolumes.default [post effect] | This command can be used to toggle a specific post effect, relative to the specified name. |
|
night |
night | This command enables or disables (toggles) night. |
|
filewatcher |
filewatcher | This command enables or disables (toggles) the filewatcher. |
|
createlean |
createlean | This command generates LEAN textures. |
|
helplog |
helplog | After executing this command, a list of all commands will be outputted to the game.log file. |
|
hsv |
hsv | This command converts HSV to RGB. |
tag_color |
tag_color [rgb] | This command can be used to set the tag color of your current country. |
|
browser |
browser [url] | This command opens the browser window and loads the specified URL. |
|
browser_base_url |
browser_base_url [url] | This command sets the URL of the browser (loads a page). |
|
aiview |
aiview | This command enables or disables (toggles) debug info for the AI. |
|
airealism$ |
airealism | This command enables or disables (toggles) realistic AI for the game. |
|
instant_wargoal |
instant_wargoal | This command allows for the application of any war goal without justification. |
|
set_country_flag |
set_country_flag [country tag] | This command sets the flag of the specified country as your current nation’s flag. |
|
set_cosmetic_tag |
set_cosmetic_tag [country tag] [country tag] | This command will change the name and flag of the specified country to that of another country. |
How to Enhance HOI 4 with Xmod

XMOD is a powerful tool that helps you boost performance, unlock cheats, and customize Hearts of Iron IV with ease. It gives players instant access to features like God Mode, Unlimited Resources, and Instant Movement — all through simple hotkeys or one-click options.
Other than that, XMOD also provides DLC Unlocker and Popular Mods One-Click Installation. With these game services, you can easily unlock more content and customize and expand your gameplay.

Step-by-Step Guide
- Install and Open XMOD
- Download the latest version from the official XMOD website.
- Launch the app and select Hearts of Iron IV from your game list.
- Follow Setup Instructions
- Make sure the required trainer files are installed.
- Keep the game paused when activating “Dev Codes” to prevent AI effects.
- Enable Features
- Activate cheats such as:
- Unlimited Nukes
- God Mode
- Instant Movement
- Unlimited Fuel and Resources
- Enable Ironman Console
- Use the hotkeys (like
NUM2,NUM3, orNUM7) or click “Click to Use” for quick activation.
- Launch and Play
- Start HOI4 through XMOD to ensure all features work correctly.
- Enjoy smoother performance and complete control over your campaign.
Conclusion
Using XMOD is one of the easiest ways to enhance your Hearts of Iron IV experience. It lets you activate powerful options like God Mode, Unlimited Resources, and Instant Movement with just a click or hotkey. Whether you want smoother gameplay, faster progress, or total control over your nation, XMOD gives you the tools to customize HOI4 exactly how you like. With these enhancements, commanding the world has never been easier or more enjoyable.