The console is an in-game tool available to PC players. From the console it is possible, while playing the game, to enter commands that will alter most aspects of gameplay, and it is also possible to obtain detailed information about NPCs, creatures, and other items in the game. The console is only available on a PC; there is no way to use the console on the Xbox 360 or PS3 platforms.
To enable the console, make sure the bAllowConsole is set to 1 in your oblivion.ini file. If it's not there, you can add it in the
[Interface] section. The console can then be accessed in-game by toggling the 'tilde key' (the actual key can be ~, º, ¬, |,^, \, §, etc.. depending on your keyboard layout), found near the "1" key on most keyboards. The console prompt will appear in the lower left-hand corner of your screen. You can scroll the console output using the "Page Up" and "Page Down" keys. The console is not case sensitive: entering any of "tdt" or "TDT" or "TdT" will toggle the debugging text.
Many commands are targeted: this means that you may use "player.command" to affect the player character, or RefID.command to affect the NPC, object, or area specified by RefID. The RefID has to be enclosed within quotes. e.g.
"RefID".command. You may also target an NPC or object in the console by clicking on them, and then run "command" to affect the NPC or object. When an NPC or object is targeted in this way, their name and hex code will be displayed at the top of the console. For example, to unlock a door, open the console, click on the door so it is the active object in the console (its name and RefID are shown at the top of the screen), then type
Commands which are abbreviated (for example: "tai") can also be run by using their full name; thus, "toggleai" is synonymous with "tai," and "getactorvalue" is synonymous with "getav." In most cases the long command is an obvious progression from the abbreviation. Also, most "setSomething" commands have a counterpart "getSomething," even if the counterpart isn't shown here.
Some commands require a formid. Most articles on objects provide the id or ids for those items, but items from mods will begin with "xx", a code that will not work in-game. Follow the tips on this page to find the correct id to use.
If you are writing a series of commands in a textfile, to be executed with console command "bat" (read commands in the next section) you can use the symbol ";" to indicate a comment, that will not be executed.
An example of bat-executable textfile:
;Alchemy script for ingredients to resist poison. player.additem 0003365C 1 ; Gives me 1 Alkanet Flower. player.additem 00033673 1 ; Gives me 1 Dreugh Wax.
Warning: Use console commands with caution! It is easily possible to mess up your game if you modify settings at the console. Even if short term the game functions normally, you may later discover that you have made it impossible to complete a quest and therefore you cannot proceed normally with game play; fixing that problem can then make new glitches pop up elsewhere. Create a permanent saved game before experimenting with the console. If you need to use the console to fix a glitch, try to use the least powerful command possible.
Note: If you are running Oblivion on Windows XP Media Center Edition or Windows Vista, and an infrared remote receiver is plugged in (note that many laptops have this built in), your console may not function properly. In order to restore its functionality, unplug the receiver for your Media Center Remote (or if it's built in use the device manager to disable or uninstall "ITECIR Infrared Receiver" from "Human Interface Devices"). This will allow you to use the console, as the receiver interferes with Oblivion's programming. Additionally, a built-in infrared receiver on laptops can cause the same issue and disabling it in the Device Manager has proven to fix the console function. Alternatively, a Ring of Console mod has been created to circumvent this problem. You can also use Change Console Key mod (requires OBSE and latest oblivion patch) to change the key or use Oblivion Console Spell (requires OBSE) to open the console. Using either of these will avoid any difficulties that the Ring of Console may have saving the game whilst toggling menus.
How to Read the Command Table
When a command requires arguments, e.g.
additem <ID> <qty>, the brackets <> indicate that <ID> should be replaced with the appropriate ID, and <qty> with the appropriate quantity. The brackets are not part of the syntax. So
additem <ID> <qty> becomes
additem 0002299c 1.
|These commands toggle settings on and off.|
|showsubtitle||Toggles NPC conversation subtitles|
|tai||Toggle AI||This command can be targeted, so you can selectively turn off AI for some actors but not others. If you try to turn off the player AI (try "player.tai"), you will be unable to move the player. If nothing is targeted this will turn off AI for all actors.|
|tcai||Toggle combat AI||Actors will still engage in combat, but they won't move to fight once they engage. This can also be used as a targeted command. If no actor is targeted will turn off combat AI for all actors.|
|tcl||Toggle collision (clipping, noclip)||You can essentially fly. Point in a direction and move wherever you want. You can also fly through buildings and even the landscape. This command is targeted; if no actor is selected it will turn off collision for the player only. Note that your horse is considered a separate actor, even when you are riding. If you get stuck in a rock while on horseback, you must select the horse before entering the "tcl" command.
Notes: Dropped or falling items will stop moving. Killing an NPC while collision is toggled off will seem to freeze the creature, leaving it in the exact position it was in when you delivered the killing blow. It will still die, but it will not fall down until the command is off. If you die or get paralyzed while this command is on, your character will fly off opposite the final blow. This may mean flying into the air, or through the floor of the cell/world. This is followed by the usual "load last save?" screen the first time, but doing it again may cause the game to hang or crash.
|pcb||Purge cell buffer||This will free up used memory, often times increasing fps after any given amount of time in game. Best used while in interior cells. However, since it purges cached cells, any cells you visited in the recent past will have to be reloaded completely when re-entered.|
|tdetect||Toggle AI detection||This command can be used as a targeted command. If no target is selected, it will turn off detection for all actors. If actors are engaged in combat with you, this will not stop them from seeing and attacking you. Similarly, if a guard is coming to arrest you, this will not stop him.|
|tdt||Toggle debug text||Display (or remove) debugging text on the screen. The default selection is some graphics info, including your frames per second. For more information, see
|tfc||Freeflying camera||Sets your controls to move the camera around, instead of the player. Use with third-person view to get a good look at your character. Combined with
|tfow||Toggle fog of war||Displays the complete map for your local area, including areas you have not yet explored.|
|tfh||Toggle full help|
|tgm||Toggle god mode||No damage taken, no magicka consumed, no fatigue used, all learned spells castable, no encumbrance limit (carried items still slow character), unlimited arrows, no weapon or armor degradation. You can only use this on yourself.|
|thd||Toggle Heads up Picture in Picture||A small copy of the full screen render will appear in the top left hand corner of the screen, along with two brown boxes.|
|tlb||Toggle Lite Brite||Makes everything bright and lighted, as well as gives tremendous performance boost. Has minor deficiencies with land. It decreases visual quality significantly, but is useful when a performance boost is needed.|
|tll||Toggle land LOD (Level of Detail)|
|tm||Toggles menus (HUD)||"Menus" refers to the Heads-Up Display (HUD) at the bottom of the screen: the health/magicka/fatigue meters, your current weapon and spell, etc. This also removes the crosshair if it's present. This command is useful for taking screenshots without all the clutter.|
|tmg||Toggle Motion Guide||This shows wires which are what enables collision detection. This means that it shows you what you are not supposed to be able to get through. This is useful for finding out why you can't jump on a specific object, or why you seem to be stuck.|
|tmm <nn>||Show/hide all map markers||<nn> should be 1 to show all markers, or 0 to hide all markers. Note that hiding markers hides ALL markers - including the city markers that are automatically visible at the beginning of the game.|
|twf||Toggle wireframe mode|
|twr||Toggle water radius||Unknown, but shows a grid of water (green diamonds) and land (blue diamonds) in a radius around the player. Red diamonds seem to be related to pathing judging from example outputs.|
|tws||Toggle water rendering|
|These commands require a target reference. Select one with the mouse in the console, use the "
|activate||Activate target||Activates the target (such as a door). Example.: using this on a door from across the room will open the door as though the player were standing nearer to it. This command can also "force" open the Sealed Portal in the quest Where Spirits Have Lease, among other uses.|
|additem <BaseID> <qty>||Add item to inventory||See the various item pages for item BaseIDs. For example, since the item code for gold is
|disable||Disable an object or NPC||Removes an object or NPC from the world. The object information is still stored in your savegame, but otherwise the object effectively no longer exists.(Note if you use it on yourself the game will crash.)|
|enable||Enables an object or NPC||Enables a
|removeitem <BaseID> <qty>||Remove item from inventory||The opposite of
|equipitem <BaseID> <NoUnequip>||Equip an Item||Causes an NPC or creature to equip the item specified by BaseID, provided that the item is already in the NPC's or creature's inventory, setting the noUnEquip flag as 1 will prevent the item being unequiped by normal means, setting it as 0 or leaving it blank will equip it with normal behavior..|
|removeallitems||Remove all items from inventory||Strips a target of all items in their inventory. Does not remove non-playable items, such as the Imperial Watch armor.|
|addspell <SpellCode>||Add spell||See the list of spell codes.|
|removespell <SpellCode>||Remove spell||See the list of spell codes.|
|dispel <SpellCode>||Dispel a specific magic effect from target||See the list of spell codes. Works on enchantment effects affecting target. To find enchantment FormIDs, use the Elder Scrolls Construction Set.|
|dispelallspells||Dispel all spell-based magic effects from target||Does not work on enchantment effects affecting target.|
|createfullactorcopy||Clones target actor||This will create a living actor even if the target is dead. And yes, you can clone your player character, and talk to — or fight with — yourself. If you have completed the Knights of the Nine questline, you may order your clone to follow you. WARNING: if you kill yourself while in a guild, you will be expelled for killing a member (the member being yourself), and if your clone kills a member of your guild, you will be expelled.|
|deletefullactorcopy||Deletes a clone of the target actor||This will delete a clone that was created using the "createfullactorcopy" command.|
|DuplicateAllItems <RefID>||Duplicates all items from the target container to the referenced container.||
Example: DuplicateAllItems 000b15e5 ; This would duplicate all items from the TARGETED container/actor/npc to container with the RefID 000b15e5.
WARNING: Any scripted item will be duplicated almost identically: Any script variables will be set to 0 on the duplicate. The duplicate will have a new FormID, meaning if (Original == New) will never be true. More importantly, meaning if any script referenced the original the duplicate will not work. For instance if (player.GetItemCount AmuletOfKings) will never be true if the player has the duplicate. Note that quest items are duplicated as well, so use with care. Many quests assume that a quest item is unique -- creating a second version of it can have undesirable results.
|getav <attribute>||Get value of attribute||Here, <attribute> includes the eight basic attributes (strength, intelligence, etc.), derived attributes (health, magicka, fatigue, encumbrance), NPC-only attributes (aggression, responsibility, etc.), skills (blade, blunt, etc.), and various spell effects. The full list of attributes recognized by getav is provided at Actor Value Indices.|
|setav <attribute> <nn>||Sets value of attribute||Setav recognizes the same attributes as getav (see Actor Value Indices). If used on a skill, it will increase the skill without causing inadvertent level-up issues (like with "advskill"); the expertise level message does not show but the expertise level is increased or decreased correctly.|
|setscale <nn>||Change target height||Size for a human is 1. Can set a range between .50 (roughly 2ft tall), and 2 (roughly 20ft tall).|
|kill <victim>||Kill actor||Will not truly kill Essential characters, they will revive as they normally do because of their Essential tag. For some reason this produces a lot of output to the console. Specifying a <victim> will assign credit for the kill (for determining some quest updates, bounty, etc.).|
|lock <nn>||Lock Target||<nn> is the degree of complexity (1-99). 100 is unpickable/needs a key. Just typing 'lock' will relock at the original level.|
|unlock||Unlock Target||Can be used on doors or chests.|
|moddisposition <actorid> <nn>||modify disposition||To use this command, select the NPC whose disposition you want to modify, then type in the ActorID of the NPC the selected NPC's disposition will be modified toward. To modify an NPC's disposition towards the player (the same value used for the purposes of revealing information), select the player (to get the ActorID), type in his/her ActorID, input the amount you want to add to or subtract from (use "-" when decreasing) the NPC's disposition, select the NPC, and press Enter.|
|moveto <RefID>||Teleports the actor to destination||<RefID> is the Reference ID for an existing object, person, or creature to which you would like to be transported. To move to a specified location, you should use the
|payfine||Pay criminal fines||While you will not be teleported to prison like when you select the "Pay Fines" dialog option with a guard, all your stolen items will be removed in the same manner. You will have to find the evidence chest to get them back, as usual. When used on NPCs, this command does not set their bounty to 0, but it works like one would expect when used on the player character.|
|payfinethief||Pay criminal fines without removing stolen items||This command is similar to
|placeatme <BaseID>||Spawns new copy of object in front of actor||<BaseID> is a base Form ID as seen in the "Object Window" of the Construction Set. BaseIDs exist for items, NPCs, creatures, etc. This command will spawn a new copy of the object. UESP articles (e.g. Oblivion:Items) provide the BaseIDs for all listed objects, or the same IDs are available at PlanetElderScrolls. This command should not be used for unique NPCs; see NPCs and
WARNING: Overuse of the placeatme command may result in savegame bloating, which can lead to savegame corruption.
|resurrect <1>||Resurrects target actor||Unless you use this command the instant the NPC is killed, the game will still register the target as "Dead" and they will subsequently not be mentioned in dialogue and sometimes specifically referred to as "Dead" during a quest. Adding a tag of "1" at the end (i.e.,
|SetActorFullName <name>||Sets actor's name||<name> must be in quotes if it contains a space, e.g. player.SetActorFullName "Jagar Tharn"|
|getcrimegold||Gets the target's current bounty.||Shows what the targeted actor's current bounty is.|
|setcrimegold <qty>||Sets bounty on target||Does not automatically stop guards from attacking you if set to 0; you still have to yield to them. In some situations you may incur further bounty before you can yield.|
|setessential <BaseID> <state>||Sets the target's essential flag||1 = Essential, 0 = Non-essential.|
|setlevel <nn>||Changes target's level||Does not bring up the usual level advance screen; also see "advlevel" below.|
|SetOpenState <state>||Changes the opened/closed/locked state of a door||Changes the state of a targeted door. Setting a state of 1 will unlock and - if possible - open any door; including those that require a key. Setting a state of 0 will close a door if it is possible to do so. Doors cannot be locked or re-locked. Other integers have no effect.|
|SetOwnership [<owner>|<Faction>]||Changes ownership of targeted item to Player Character (if no <owner> parameter is specified), or to the specified <owner> or <Faction>||Potentially useful for situations where the game does not recongnize that an item (e.g. door or bed) should rightfully 'belong' to the player (example). The <owner> parameter is the BaseID of an NPC and <faction> is the FormID of a specific faction. For a list of factions and corresponding FormIDs, see Oblivion:Factions. See also constwiki:SetOwnership.|
|stopcombat||Stop target combat||Depending on circumstances, the actor may immediately re-engage in combat.|
|startcombat <RefID>||Start target combat||Make a creature or NPC attack a creature, NPC or player specified by <RefID>|
|startconversation <RefID>, <topic>||Starts NPC conversation||Make an NPC have a conversation with another NPC. <topic> refers to a dialogue topic as listed in the Construction Set.
WARNING: Failed use may cause player to get stuck in cinematic mode, NPCs to freeze, and for random dialogue to play.
|These commands don't really lend themselves to a category.|
|advlevel||Forces a levelup||This command does display the usual levelup dialog where you select the attributes to increase. When using this, the number of times you have to level up your major skills to level again does NOT advance. This means that if you had 3 major skill levels until your next level, and you used the advlevel command to level three times, you will need 23 major skill improves before the game starts leveling you again.|
|advskill <skill> <nn>||Forces a skill level up||Using this method the game's internal mechanics will report a skill increase when you enter this command, and it will advance normally (unlike modpcs on pre 1.1.511 versions of Oblivion which was subject to a bug that caused locking the skill in place until internal re-synch). However, using this command to increase the level of a major skill too high will result in messing up your level-ups, as it will register several major skill increases. Using negative or extremely high numbers may crash the game.|
|bat <filename>||Executes the file with name <filename>||The batch file should be in your Oblivion installation directory (for example, C:\Program Files\Bethesda Softworks\Oblivion) and may contain console commands separated by a line break.|
|completequest <questid>||Complete current quest|
|caqs||Complete all quest stages||This will complete ALL quests in the game. But doesn't give any titles for any guild factions.|
|coc <location>||Teleport to <location>||See individual Place pages for that location's console codes. When teleporting, you may not appear where you expect to.|
|coe <X>,<Y>||Teleport to <location>||The difference between this and coc is that this command takes two coordinates for an exterior cell. Most place pages will give the location of the exterior coordinates. Example:
|enableplayercontrols||Enables player control during cinematic mode||This command is used to enable controls during cinematics when they're disabled. Occasionally the game will glitch and not enable your controls again - instead of reloading, put in this command and carry on.|
|fov <value>||Changes the FOV (field of view) of the player||This command works only with the first person camera and it unfortunately resets every time you speak to a character or change camera. The <value> is in degrees. The default FOV is 75, but a FOV of 90 may be desirable. Setting fDefaultFov in Oblivion.ini to a desired FOV to will keep the FOV from reseting; however changing the value in Oblivion.ini will alter the size of the menu layer causing a number of visual bugs and clicking issues. Due to how 3D to 2D projection works, edges will look stretched with high FOVs. Values over 180 and under 0 will have no effect. Setting a FOV of 0 will restore the default FOV. This command can be useful for zooming into distant areas of the environment (it is essentially how "zooming" works in many video games) but obviously, it will not override the game's drawing distance for objects and scenery.|
|fw <ID>||Force Weather||Instantly set the weather to a particular type. The ID must be one of the following:
|getstage <questid>||Returns the current stage of the specified quest||This shows you the current quest stage. 10 generally indicates quest accepted, other than that, it's all quest dependent.|
|setstage <questid> <stage>||Sets the current stage of a quest||Quest stages can be found on each individual quest page. First, select the quest you want to change in your journal. Use the SQT command to see the quest id, then use the getstage command to see the stage. Usually you add or subtract 10 to change the stage, but there are exceptions.|
|killall||Kills all creatures in a large radius||Kills all actors in the loaded area -- in an exterior, the 5x5 cells around the player; in an interior, the cell that the player is currently in.|
|modpca <attribute> <nn>||Adds nn points to an attribute||Attributes are subject to the same rules as skills in the entry below, except that you may use negative values.|
|modpcs <skill> <nn>||Adds nn points to the skill||Skill name to use is the name minus spaces, e.g.
|movetoqt||Teleports you to your quest target||This sometimes results in you being stuck in a wall, stuck in cinematic mode (can't move etc.), or can mess up the current quest. Be prepared to toggle collision (tcl) or reload. For quests with multiple targets,
|prid <RefId>||Pick reference by ID||Select an existing copy of an object/creature/NPC using its reference FormID. All subsequent targeted commands will use this object as the target. This is the same as clicking on the object in the console, but can be used even if the object is invisible or in a different area.|
|psb||Add all spells to player||Note that this adds ALL spells of Oblivion, including the spells that were used to test Oblivion, and spells added by activated mods. Without using modifications, there are more than 600 spells. This will make your spell menu load slowly, and it is hard to find certain spells with so many.|
|qqq||Exit game without using menus|
|save <name> ||Save game||Saves the game using the name specified. Using the optional "1" will also save a text file (name.ess.txt) which contains information about the save file (see Save File Format for more information).|
|saveini||Save ini settings||Forces a save of the oblivion.ini file with current settings in the Options menu. Useful to save your settings if your game crashes when exiting (some custom mods cause this).|
|set <globalvar> to <value>||Set Global Variable||Sets a global variable to the given value. Use
|setdebugtext||Selects Debugging Info||Selects what info
|setpcfame <qty>||Set Player Fame|
|setpcinfamy <qty>||Set Player Infamy|
|setquestobject <BaseID> <flag>||Set Quest Object||Changes the quest object status of the specified object. Setting flag to "1" will turn an object into a quest object: setting it to "0" clears quest item status.|
|sexchange||Changes your gender||Can be used on NPCs if player is in separate area from target NPC. After doing so, the game must be saved and reloaded or game may crash when player enters an area with affected NPCs. Game may still become unstable after doing so.
Only changes body clothes and some dialect. Face will remain the same (sometimes with Argonians a color change in the face occurs). If the subject has unique dialog then when they talk nothing will be said, only the subtitles (if enabled) will show.
|set timescale to <qty>||sets the speed of how fast time advances in-game||Default value is 30. Setting the value to 1 will make time advance at the same rate as the real world. Setting value to negative will reverse time, but will turn the clock to negative values if allowed to past midnight. To fix glitches related to negative time, use the console command
Altering the value of timescale can cause bugs to occur during various quests (e.g., A Brush with Death, Where Spirits Have Lease). Resetting timescale to the default value of 30 fixes the bugs.
|show||Show Value of Global Variable||Use
|showbirthsignmenu||Allows you to change your birthsign||Using this command doesn't empty your spellbook like in Morrowind.|
|showclassmenu||Change Class||WARNING: Using this menu will reset all of your skills to their default initial settings. If you want to save your current skills, you'll have to open the escape menu right before clicking the final "done" button, save the game through the console (
|showenchantment||Enchanting window||This will pull up the Enchanting window.|
|showracemenu||Change Race/Appearance||New racial abilities, benefits and weaknesses do not seem to be awarded properly when you use this menu, although the old ones are removed. WARNING: Using this menu will reset all of your skills to their default initial settings. If you want to save your current skills, you'll have to open the escape menu right before clicking the final "done" button, save the game through the console (
|showspellmaking||Spellmaking window||This will pull up the Spell Making window.|
|sq||Show all quests||List all quests in the game, not just ones you're on, along with current stage.|
|sqt||Show current quest||Shows the status of the current quest.|
|ssg||Creates a window with the full game scene graph||You may need to Alt-Tab out of Oblivion to see the window.|
|sw <ID>||Set Weather||Allow the weather to morph into a particular type. See
|swdp||Show Who's Detecting Player||Displays a list of characters currently detecting the player.|
|getgs <game setting>||Get Game Setting||Returns the value of the referenced game setting. For example,
|setgs <game setting> <value>||Set Game Setting||Sets the referenced game setting to the selected value. For example,