LinuxWindows

Where Does NetHack Store Config, Saves, and Bones?

Where NetHack reads .nethackrc options and keeps save, bones, and record files on Unix and Windows.

Last updated

NetHack splits its files three ways: options in ~/.nethackrc (or NETHACKOPTIONS), transient saves in the save directory, and permanent history in logfile and record. Tiles and terminal builds share the layout with different frontends.

The design enforces permadeath at the filesystem level: loading a save deletes it. Bones files are the consolation, persisting your ghost into future runs. Server play (NAO, Hardfought) keeps all of this remotely, so local paths only matter for offline installs.

Where NetHack stores this, by platform

Linux
~/.nethackrc (options; saves in game dir)

.nethackrc for options, save/ for live games, record and logfile for history. Distro packages split these across /etc and /var; self builds keep one tree. The wizard mode flag lives in the sysconf, not the rc file.

Windows
<install>\defaults.nh (options; saves beside it)

defaults.nh in the install folder plus save/, record, and logfile beside it. Tiles builds use the same files with a graphical frontend. Keep the install writable or saves fail silently.

Frequently asked questions

where is the nethack config file

Create ~/.nethackrc (Unix) or defaults.nh in the install dir (Windows) with OPTIONS= lines. NETHACKOPTIONS env var overrides both for one run. A single typo can silently disable half the file, so test with a fresh game after edits.

where are nethack save and bones files

In the save/ directory as level files plus a character lock; bones files let your ghost haunt later runs. Save files delete themselves on load by design, which is permadeath enforced by the filesystem. Back up mid run copies only for crash recovery, not scumming.

where is the nethack high score file

In logfile and xlogfile under the game data dir (conducts, deaths, ascensions). Third party trackers parse these, not the saves. The record file is append only, so it survives even when saves do not.

Notice an outdated path? Let us know.