Persistent options: Some options are marked persistent, and are saved and reloaded along with the game. Changing a persistent option in the configuration file applies only to new games.

If a configuration file does not exist, create a new one that's appropriate for your system with a text file editor. (For Mac OS X Terminal, use ~/.nethackrc instead of NetHack Defaults)

In-game

The in-game configuration menu is brought up by pressing shift + o. It is similar to an item selection menu, where you use alphabetic letters to select which options to change. Boolean options are toggled on or off, while you are prompted to enter new values for compound options.

Some options cannot be changed in-game.

Command line

You can also set options from the command line by setting the NETHACKOPTIONS environment variable. If the value starts with '\' or '/' or '@', it is considered to be a config file name. For example:

NETHACKOPTIONS=boulder:0, color, autodig

or

NETHACKOPTIONS=@/home/username/.nethackrc

Options

acoustics

Enable messages about what your character hears. Boolean option, defaults to TRUE.

align

Your starting alignment. Compound option, with possible values of lawful, neutral, chaotic, or random. The first letter may be given alone. Prefix with ! to exclude that alignment from being picked randomly. Cannot be set in-game. Example that excludes chaotic:

OPTIONS=align:!c

autodig

Automatically dig, if you're wielding a digging tool and moving into a place that can be dug. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

autoopen

Walking into a door attempts to open it. Boolean option, defaults to TRUE. Persistent.

catname

character

checkpoint

Save game state after each level change, for possible recovery after program crash. Boolean option, defaults to TRUE. Can be set in-game.

checkspace

Check free disk space before writing files to disk. You may have to turn this off if you have more than 2 GB free space on the partition used for your save and level files. A boolean option, defaults to on. Only applies when MFLOPPY was defined during compilation.

clicklook

Allows looking at things on the screen by navigating the mouse over them and clicking the right mouse button. Boolean option, defaults to FALSE.

cmdassist

NetHack provides some additional command assistance when it detects some anticipated mistakes. Boolean option, defaults to TRUE. Can be set in-game.

confirm

Have user confirm attacks on peaceful creatures. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

extmenu

female

fixinv

An object's inventory letter sticks to it when it's dropped, so when you pick it up again, it will have the same inventory letter, unless there is already another item in your inventory using that letter. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

In Nethack 3.6 source, this feature is considered "experimental", and it may not be available in every distribution. In particular, it is missing from all official binaries. Check the in-game options list to confirm if this is available in your version.

horsename

Set the name of your starting horse. Compound option, and it cannot be set within game. See also catname and dogname.

ignintr

Ignore interrupt signals, including breaks. Boolean option, defaults to FALSE. Not implemented on Mac. Can be set in-game. Persistent.

male

mention_walls

menucolors

Enable coloring menu lines. Boolean value, defaults to FALSE. See main article for how to set menucolors with particular expression matches.

menustyle

Controls the interface used when you need to choose various objects (in response to the Drop command, for instance). Persistent. Compound option, with following possible values:

Option

Description

traditional

prompt for object class characters, followed by an object-by-object prompt for all matching items

combination

prompt for object classes of interest, then display a menu of matching objects

partial

skip the object class filtering and immediately display a menu of all objects

full

display a menu of object classes, and then a menu of matching objects

menu_deselect_all

Menu character accelerator to deselect all items in a menu. Implemented by the Amiga, Gem, X11 and tty ports. Compound option, with default of '-'. Cannot be set in-game.

menu_deselect_page

Menu character accelerator to deselect all items on this page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '\'. Cannot be set in-game.

menu_first_page

Menu character accelerator to jump to the first page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '^'. Cannot be set in-game.

menu_headings

Controls how the headings in a menu are highlighted. Compound option, with possible values of bold, inverse, or underline. Not all ports can actually display all three types.

menu_invert_all

Menu character accelerator to toggle the selections in a menu. Implemented by the Amiga, Gem, X11 and tty ports. Compound option, with default of '@'. Cannot be set in-game.

menu_invert_page

Menu character accelerator to toggle the selection on this page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '~'. Cannot be set in-game.

menu_last_page

Menu character accelerator to jump to the last page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '|'. Cannot be set in-game.

menu_next_page

Menu character accelerator to goto the next page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '>'. Cannot be set in-game.

menu_objsyms

Show object symbols in menu headings in menus where the object symbols act as menu accelerators. Boolean option, defaults to FALSE.

menu_previous_page

Menu character accelerator to goto the previous page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of '<'. Cannot be set in-game.

menu_search

Menu character accelerator to search for a menu item. Implemented by the Amiga, Gem and X11 ports. Compound option, with default of ':'. Cannot be set in-game.

menu_select_all

Menu character accelerator to select all items in a menu. Implemented by the Amiga, Gem, X11 and tty ports. Compound option, with default of '.'. Cannot be set in-game.

menu_select_page

Menu character accelerator to select all items on this page of a menu. Implemented by the Amiga, Gem and tty ports. Compound option, with default of ','. Cannot be set in-game.

menu_tab_sep

Use tabs to separate menu names from their values. This option is only shown when in wizard-mode, and is only meant for testing purposes.

msghistory

Number of message-window messages to save. Compound option, takes a positive number, with default of 20. Maximum and minimum values depend on the window port; For the TTY, X11 and Gem ports the minimum is 20 and maximum 60. On NAO, the maximum for TTY is 400. Cannot be set in-game.

msg_window

How to show the latest messages recalled with ^P. Compound option, with the following possible values:

Option

Description

single

show single message

combination

two messages as single, then as full

full

full window, oldest message first

reversed

full window, newest message first

You can use the first letter of an option to specify that option. For backwards compatibility, no value needs to be given; in that case defaults to 'full', or it can be negated like a boolean option, in which case defaults to 'single'.
Can be set in-game only if playing the TTY windowport.

MSGTYPE

Can be used to hide obnoxious messages or emphasize dangerous ones. See main article for how to use MSGTYPEs.

name

The name of your character. Compound option, defaults to your user name. If set to player, then NetHack will ask for the user name, even on systems where it normally wouldn't. If suffixed with dash and character role letter (one of -A -B -C -H -K -M -P -Ra -Ro -S -T -V -W), then also defines the character role, or if suffixed with -@, then selects a random role.
Cannot be set in-game.

news

Read the NetHack news file at start of game, if present. Boolean option, defaults to TRUE.

nudist

Start the character with no armor. Boolean option, defaults to FALSE. Persistent.

null

Send padding NULLs to terminal. A boolean, defaults to FALSE. Only used if you compiled NetHack with TERMCAP and without TIMED_DELAY. Persistent.

With number_pad set to 1, 2, 3, or 4, counts need to be prefixed with n (n50s to search 50 times). Also, some extended commands are available in a short form (l performs #loot, u performs #untrap, etc).

For backwards compatibility, number_pad without a value is synonymous to number_pad:1.

packorder

Sets the order of item classes shown in inventory. Compound option, takes a string of up to 14 characters, with default values of ")[%?+!=/(*`0_. Omitted types are filled in at the end from the previous order. Can be set in-game. Persistent.

paranoid_confirmation

A space-separated list of specific situations where alternate prompting is desired. The default is paranoid_confirmation:pray.

Option

Description

Confirm

for any prompts which are set to require "yes" rather than 'y', also require "no" to reject instead of accepting any non-yes response as no

quit

require "yes" rathern than 'y' to confirm quitting the game or switching into non-scoring explore mode

die

require "yes" rather than 'y' to confirm dying (applies only to explore mode)

bones

require "yes" rather than 'y' to confirm saving bones data when dying in debug mode

attack

require "yes" rather than 'y' to confirm attacking a peaceful monster

pray

require 'y' to confirm an attempt to pray rather than immediately praying; on by default

wand

require "yes" rather than 'y' to confirm breaking a wand

Remove

require selection from inventory for R and T commands even when wearing just one applicable item

By default, the pray choice is enabled, the others disabled. To disable it without setting any of the other choices, use paranoid_confirmation:none. To keep it enabled while setting any of the others, include it in the list:

OPTIONS=paranoid_confirmation:attack pray Remove

perm_invent

Show permanent inventory window. Boolean option, defaults to FALSE. Not used on TTY. Can be set in-game. Persistent.

pettype

Sets your preferred pet type. A compound option, with possible value of cat, dog or none. Cannot be set in-game.

pickup_burden

Prompt for confirmation before picking up items that will push the character's encumbrance past a given level -- Unencumbered, Burdened, streSsed, straiNed, Overtaxed, or overLoaded. This will NOT prompt the player if he is about to pick up a loadstone or gold. Defaults to S. Persistent.

pickup_types

Specify the object types to be picked up when autopickup is on. Default is all to pick up all types. For example "pickup_types:?!/" would pick up all scrolls, potions and wands. Persistent.

pile_limit

When walking across a pile of objects on the floor, threshold at which the message "there are few/several/many objects here" is given instead of showing a popup list of those objects. A value of 0 means "no limit" (always list of the objects); a value of 1 effectively means "never show the objects" since the pile size will always be at least that big; default value is 5. Persistent.

playmode

Values are normal, explore, or debug. Allows selection of explore mode (also known as discovery mode) or debug mode (also known as wizard mode) instead of normal play. Debug mode might only be allowed for someone logged in under a particular user name (on multi-user system) or it might be disabled entirely. Requesting it when not allowed or not possible results in explore mode instead. NAO has both Explore and Debug modes disabled entirely. Default is normal play.

pushweapon

If you wield something when you are already wielding something else, the old weapon is pushed into the alternate weapon slot. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

race

Set your character's race. A compound option, with possible values of human, elf, dwarf, gnome, orc, or random, with default of random. If you prefix a ! to the value, you can exclude that race from being picked randomly. Cannot be set in-game. Persistent.

rest_on_space

Space waits for a turn. This is considered by some as a very easy way to get killed.

Boolean option, defaults to FALSE. Can be set in-game. Persistent.

role

Set your character's role. Can also be random. A compound option. See name option for an alternate method of specifying your role. Normally only the first letter of the value is examined, with r being the exception with Rogue, Ranger, and random values. If you prefix an option with !, you can exclude that role from being picked randomly. Cannot be set in-game. Persistent.

roguesymset

This option may be used to select one of the named symbol sets found within the symbols file to alter the symbols displayed on the screen on the rogue level.

rlecomp

When writing out a save file, perform a run length compression of the map. Not all ports support run length compression. It has no effect on reading an existing save file.

runmode

Set the screen updating interval for multi-turn actions, eg. running or traveling. Can be set in-game. Compound option with the following possible values:

Option

Description

teleport

update the map after movement has finished

run

update the map after every seven or so steps (default)

walk

update the map after each step

crawl

like walk, but pause briefly after each step

safe_pet

Prevents you from (knowingly) attacking your pet by moving into it. TRUE is the best setting as attacking a pet, should you wish to, is easily accomplished using the fight command. Boolean option, defaults to TRUE. Can be set in-game.

sanity_check

This option turns on debugging output, and is only available in wizard mode. Boolean option, defaults to FALSE.

scores

Control what part of hiscore list to show at the end of game. Compound option. Can be set in-game. Persistent. Accept the following options, separated by spaces:

o - show my own score. Can be prefixed with ! to not show own score.

Xa - show X scores around own score

Xt - show X scores from the top

For example:

OPTIONS=scores:10t 2a o

showexp

Displays the exact number of experience points next to your experience level on the status line. Useful for seeing how close you are to the next level, but it may increase the length of the status line a lot, pushing important notifications (like Hungry, Ill, FoodPois, etc.) off the end.

Boolean option, defaults to FALSE. Can be set in-game. Persistent.

showrace

Uses the symbol for your race instead of @. That's h for dwarves, o for orcs and G for gnomes. Elves are still @. This could be useful for reminding you not to genocide your racial glyph but is not widely used. Boolean option, defaults to FALSE. Can be set in-game.

showscore

Shows your approximate accumulated score on the bottom line. Boolean option, defaults to false. Can be set in-game. Persistent. Only available if NetHack was compiled with SCORE_ON_BOTL.

SOUND

sparkle

Display sparkly effect for resisted magical attacks (e.g. a fire attack on a fire-resistant monster). It can be helpful to turn this off on the Plane of Fire, otherwise a dozen or more sparkles will occur per turn. See also timed_delay.

standout

statushilites

Enable coloring of status fields. Boolean option, defaults to FALSE.

See hilite_status option for information on how to set particular status hilites.

suppress_alert

Prevent alert notification messages about feature changes in a NetHack version and the previous versions. Compound option, accepts a string describing a NetHack version. Can be set in-game. Currently only one use, which is to prevent the quiver and quit-command changes:

time

Displays elapsed game time, in turns, on the status line. Very useful for estimating prayer timeouts, spell lifespan, and more. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

timed_delay

On TTY interfaces (unix and VMS), use a timer instead of sending extra screen output when attempting to pause for a display effect. On MSDOS without the termcap lib, chooses whether or not to pause for visual effect. See also sparkle.

Boolean option, defaults to TRUE if configured into the program. Can be set in-game. Persistent.

tombstone

Prints an ASCII tombstone when you die. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

toptenwin

Prints the top ten high scores in a window rather than stdout. This isn't very useful unless you are using a GUI version. Boolean option, defaults to FALSE. Can be set in-game. Persistent.

travel

Enables the travel command. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

verbose

Chooses whether or not to display certain non-essential messages, such as doors being destroyed. Boolean option, defaults to TRUE. Can be set in-game. Persistent.

windowtype

Select which windowing system to use, such as tty or X11 (default depends on version). Cannot be set in-game. Example:

OPTIONS=windowtype:tty

wizkit

Wizard mode-only option. Specifies the path to a text file that contains a list of item names, one per line, up to a maximum of 128 lines. Each line is processed by the function that handles wishing. For example

ascii_map

color

NetHack should display color if it can for different monsters, objects, and dungeon features. This option matters only for the TTY windowport. Boolean option, defaults to TRUE on Windows and some other systems, FALSE on others. Can be set in-game.

eight_bit_tty

NetHack should pass eight-bit character values straight through to your terminal. Boolean option, defaults to FALSE. Can be set in-game.

font_map

NetHack should use a font by the chosen name for the map window.

font_menu

NetHack should use a font by the chosen name for menu windows.

font_message

NetHack should use a font by the chosen name for the message window.

font_status

NetHack should use a font by the chosen name for the status window.

font_text

NetHack should use a font by the chosen name for text windows.

font_size_map

NetHack should use this size font for the map window.

font_size_menu

NetHack should use this size font for menu windows.

font_size_message

NetHack should use this size font for the message window.

font_size_status

NetHack should use this size font for the status window.

font_size_text

NetHack should use this size font for text windows.

fullscreen

NetHack should try and display on the entire screen rather than in a window. Boolean option, defaults to false. Cannot be set in-game.

If the game cannot be displayed in fullscreen through this option and you are using the tty interface, you can usually adjust your terminal emulator configuration to achieve a similar effect (e.g. by increasing the font size).

large_font

NetHack should use a large font.

map_mode

NetHack should display the map in the manner specified. Used in Windows port to choose between tiles or different sizes of ASCII. Consult defaults.nh for possible options.

mouse_support

Use mouse for moving around. A boolean, defaults to FALSE. Is displayed, but cannot be set in-game.

player_selection

NetHack should pop up dialog boxes, or use prompts for character selection. Compound option. Cannot be set in-game.

popup_dialog

NetHack should pop up dialog boxes for input. Boolean option, defaults to false. Can be set in-game.

preload_tiles

NetHack should preload tiles into memory. Boolean option, defaults to true. Cannot be set in-game.

scroll_amount

NetHack should scroll the display this many map cells when the hero reaches the scroll_margin. A compound option, accepts a positive number. Cannot be set in-game.

scroll_margin

NetHack should scroll the display when the hero or cursor is this number of cells away from the edge of the window. A compound option, accepts a positive number. Cannot be set in-game.

selectsaved

NetHack should display a menu of existing saved games for the player to choose from at game startup, if it can. Not all ports support this option.

softkeyboard

Display an on-screen keyboards; handhelds are most likely to support this. Boolean option, defaults to off. Cannot be set in-game.

splash_screen

NetHack should display an opening splash screen when it starts up. Boolean option, defaults to yes.

tile_width

Specify the preferred width of each tile in a tile capable port. Compound option, accepts a positive number. Cannot be set in-game.

tile_height

Specify the preferred height of each tile in a tile capable port. Compound option, accepts a positive number. Cannot be set in-game.

tile_file

Specify the name of an alternative tile file to override the default. Compound option. Cannot be set in-game.

tiled_map

NetHack should display a tiled map if it can. Boolean option, Cannot be set in-game.

use_darkgray

use_inverse

Displays certain things in reverse video. Boolean option, defaults to FALSE on non-Win32 platforms. Can be set in-game.

vary_msgcount

NetHack should display this number of messages at a time in the message window. Compound option, accepts a positive number. Cannot be set in-game. Implemented only for the Atari GEM, Win32 GUI and WinCE builds.

windowcolors

NetHack should display windows with the specified foreground/background colors if it can. Compound option. Cannot be set in-game.
Example:

wraptext

NetHack port should wrap long lines of text if they don't fit in the visible portion of the window. Boolean, defaults to false. Can be set in-game.

Platform-specific Customization options

altkeyhandler

Select an alternate keystroke handler dll to load. The name of the handler is specified without the .dll extension and without any path information. Win32 only. Cannot be set in-game. NetHack comes with nhdefkey.dll, nhraykey.dll, and nh340key.dll. If you are using a non-US keyboard layout and cannot type the dollar sign, try nhraykey.

altmeta

Enables extended command shortcuts, such as alt + d to dip.[1] Boolean option, default is off, except on Amiga. Can be set in-game. Is saved into the savefile.[2]

BIOS

Use BIOS calls to update the screen display quickly and to read the keyboard (allowing the use of arrow keys to move) on machines with an IBM PC compatible BIOS ROM. Boolean option, default off. OS/2, PC, and ST NetHack only. Cannot be set in-game.

DECgraphics

Use DEC line-drawing characters. Won't work for all terminals. Boolean option, defaults to TRUE. Can be set in-game. Turning this on sets IBMgraphics to FALSE.

soundcard

Compound option, defaults to on. Only for the PC NetHack. Cannot be set in-game.

subkeyvalue

(Win32 tty NetHack only). May be used to alter the value of keystrokes that the operating system returns to NetHack to help compensate for international keyboard issues. OPTIONS=subkeyvalue:171/92 will return 92 to NetHack, if 171 was originally going to be returned. You can use multiple subkeyvalue statements in the config file if needed. Cannot be set in-game.

video

Set the video mode used. PC NetHack only. Values are autodetect, default, or vga. Setting vga (or autodetect with vga hardware present) will cause the game to display tiles.
Cannot be set in-game.

Note: If the #version-command shows screen control via foo, where foo is one of mactty, BIOS, DJGPP fast, VGA graphics or WIN32 console I/O, then your version of NetHack supports setting videocolors.

videoshades

Set the intensity level of the three gray scales available (default dark normal light, PC NetHack only). If the game display is difficult to read, try adjusting these scales; if this does not correct the problem, try !color.
Cannot be set in-game.

This may be useful if your terminal has issues with CP437 emulation (e.g corruption on the Rogue level) or if you use a terminal that defaults to UTF-8 graphics (such as the Linux console or GNOME Terminal).

hilite_hidden_stairs

Boolean option. Hilight items with stairs under them with red background.

hilite_obj_piles

Boolean option. Hilight piles of objects with blue background.

hitpointbar

The name and rank text in status line is colored according to Statuscolors and how much HP you have left. Boolean, defaults to off.

OBJECTSYMBOL

old_C_behavior

With this option set to true, the "C" command will work as it does in vanilla, asking you to select a monster to name. Otherwise, typing "C" will bring up the #name menu. Defaults to false.

paranoid_hit

If using the vi-keys, be cautious when moving northwest (y)- not (z)ap, around peaceful creatures. "y" is also the command to say yes to a question such as "Really attack Izchak?", and it's nearly always a good idea to answer no. Setting the paranoid_hitoption (available if your game was compiled with the 'paranoid' patch) to true will help, as this will require you to explicitly type "yes" to hit peacefuls. If you're moving with (z) you end up running into something. This is a boolean option, and can be set in-game.

paranoid_quit

Requires you to type out 'yes' instead of just 'y' to confirm #quit-ting the game.

paranoid_remove

Always prompt for the letter of a jewelry/accessory item to (R)emove, even if only one is worn.

quiver_fired

Boolean option. If on, you'll quiver items if you fire them.

showborn

In dumplogs, displays the number of each type of monster created, rather than just the number killed.

showbuc

Always show BUC status if it is known. By default, "uncursed" is never shown to priests, or to anybody for most items with known charges or enchantment.

show_obj_sym

Displays the glyph for an object class in menus and allows its use as a hotkey to select all objects of that class.

sortloot

STATUSCOLORS

SYMBOL

Change terrain feature symbol to UTF8 character. Only applies when UTF8graphics is on. For example:

SYMBOL='altar':U+0c30

would make all altars show up as the Pi symbol (π).

Accepts the UTF8 character in either U+FFFF or 0xFFFF format. See also DUNGEONSYMBOLS.

TRAPCOLORS

Allows settings the colors for traps. Takes 22 numbers (between 0 and 15), separated by spaces. Order is the same as TRAPS.
For example:

TRAPCOLORS= 6 6 7 3 6 1 7 12 4 9 0 0 3 3 5 5 13 7 7 12 12 10

use_darkgray

Use the dark gray color for black, instead of blue. Might not work for all terminals. Boolean option, defaults to off.

UTF8graphics

Use UTF-8 (characters for monsters, objects, and dungeon features. Boolean option, defaults to off. Nearly any Unicode character is allowed, however combining characters and wide characters currently do not work. Note that this also does not play well with the Curses interface.

The order of the symbols is: vertical beam, horizontal beam, left slant, right slant, digging beam, camera flash beam, left boomerang, right boomerang, four glyphs giving the sequence for magic resistance displays, the eight surrounding glyphs for swallowed display, nine glyphs for explosions. An explosion consists of three rows (top, middle, and bottom) of three characters. The explosion is centered in the center of this 3 by 3 array.