# DFHack tools

DFHack has a lot of tools. This page attempts to make it clearer what they are, how they work, and how to find the ones you want.

## What tools are and how they work

DFHack is a Dwarf Fortress memory access and modification framework, so DFHack tools normally access Dwarf Fortress internals and make some specific changes.

Some tools just make a targeted change when you run them, like unforbid, which scans through all your items and removes the `forbidden` flag from each of them.

Some tools need to be enabled, and then they run in the background and make changes to the game on your behalf, like autobutcher, which monitors your livestock population and automatically marks excess animals for butchering.

And some tools just exist to give you information that is otherwise hard to come by, like gui/petitions, which shows you the active petitions for guildhalls and temples that you have agreed to.

## Finding the tool you need

DFHack tools are tagged with categories to make them easier to find. These categories are listed in the next few sections. Note that a tool can belong to more than one category. If you already know what you’re looking for, try the Search Page or Ctrl-F on this page. If you’d like to see the full list of tools in one flat list, please refer to the annotated index.

## DFHack tools by game mode

- adventure

    Tools that are useful while in adventure mode. Note that some tools only tagged with “fort” might also work in adventure mode, but not always in expected ways. Feel free to experiment, though!

- dfhack

    Tools that you use to run DFHack commands or interact with the DFHack library. This tag also includes tools that help you manage the DF game itself (e.g. settings, saving, etc.)

- embark

    Tools that are useful while on the fort embark screen or while creating an adventurer.

- fort

    Tools that are useful while in fort mode.

- legends

    Tools that are useful while in legends mode.

## DFHack tools by theme

- armok

    Tools that give you complete control over an aspect of the game or provide access to information that the game intentionally keeps hidden.

- auto

    Tools that run in the background and automatically manage routine, toilsome aspects of your fortress.

- bugfix

    Tools that fix specific bugs, either permanently or on-demand.

- design

    Tools that help you design your fort.

- dev

    Tools that are useful when developing scripts or mods.

- fps

    Tools that help you manage FPS drop.

- gameplay

    Tools that introduce new gameplay elements.

- inspection

    Tools that let you view information that is otherwise difficult to find.

- productivity

    Tools that help you do things that you could do manually, but using the tool is better and faster.

## DFHack tools by what they affect

- animals

    Tools that interact with animals.

- buildings

    Tools that interact with buildings and furniture.

- graphics

    Tools that interact with game graphics.

- interface

    Tools that interact with or extend the DF user interface.

- items

    Tools that interact with in-game items.

- jobs

    Tools that interact with jobs.

- labors

    Tools that deal with labor assignment.

- map

    Tools that interact with the game map.

- military

    Tools that interact with the military.

- plants

    Tools that interact with trees, shrubs, and crops.

- stockpiles

    Tools that interact with stockpiles.

- units

    Tools that interact with units.

- workorders

    Tools that interact with workorders.

## All DFHack tools alphabetically

- 3dveins
- RemoteFortressReader
- adaptation
- add-recipe
- add-spatter
- add-thought
- adv-fix-sleepers
- adv-max-skills
- adv-rumors
- alias
- animal-control
- armoks-blessing
- assign-attributes
- assign-beliefs
- assign-facets
- assign-goals
- assign-minecarts
- assign-preferences
- assign-profile
- assign-skills
- autobutcher
- autochop
- autoclothing
- autodump
- autofarm
- autogems
- autohauler
- autolabor
- autolabor-artisans
- automaterial
- automelt
- autonestbox
- autonick
- autotrade
- autounsuspend
- ban-cooking
- binpatch
- blueprint
- bodyswap
- brainwash
- break-dance
- build-now
- building-hacks
- buildingplan
- burial
- burrows
- cannibalism
- caravan
- catsplosion
- changeitem
- changelayer
- changevein
- cleanconst
- cleaners
- cleanowned
- clear-smoke
- clear-webs
- cls
- colonies
- color-schemes
- combat-harden
- combine-drinks
- combine-plants
- command-prompt
- confirm
- create-items
- createitem
- cursecheck
- cxxrandom
- deathcause
- debug
- deep-embark
- deramp
- deteriorate
- die
- dig
- dig-now
- digFlood
- diggingInvaders
- disable
- do-job-now
- drain-aquifer
- dwarf-op
- dwarfmonitor
- dwarfvet
- elevate-mental
- elevate-physical
- embark-assistant
- embark-skills
- embark-tools
- emigration
- empty-bin
- enable
- eventful
- exportlegends
- exterminate
- extinguish
- fastdwarf
- feature
- fillneeds
- filltraffic
- firestarter
- fix-ster
- fix-unit-occupancy
- fixnaked
- fixveins
- flashstep
- flows
- follow
- force
- forceequip
- forget-dead-body
- forum-dwarves
- fpause
- full-heal
- gaydar
- geld
- generated-creature-renamer
- getplants
- ghostly
- growcrops
- help
- hermit
- hfs-pit
- hide
- hotkey-notes
- hotkeys
- infiniteSky
- install-info
- isoworldremote
- jobutils
- keybinding
- kill-lua
- labormanager
- lair
- launch
- lever
- light-aquifers-only
- linger
- liquids
- list-agreements
- list-waves
- load
- load-save
- locate-ore
- ls
- lua
- luasocket
- make-legendary
- make-monarch
- manipulator
- map-render
- markdown
- masspit
- max-wave
- migrants-now
- misery
- mode
- mousequery
- multicmd
- names
- nestboxes
- on-new-fortress
- once-per-save
- open-legends
- orders
- overlay
- pathable
- petcapRemover
- plants
- plug
- points
- pop-control
- position
- power-meter
- pref-adjust
- prefchange
- prioritize
- probe
- prospector
- putontable
- questport
- quickfort
- quicksave
- region-pops
- regrass
- rejuvenate
- reload
- remove-stress
- remove-wear
- rename
- rendermax
- repeat
- resume
- resurrect-adv
- reveal
- reveal-adv-map
- reveal-hidden-sites
- reveal-hidden-units
- ruby
- sc-script
- script
- search
- season-palette
- seedwatch
- set-orientation
- set-timeskip-duration
- setfps
- show
- show-unit-syndromes
- showmood
- siege-engine
- siren
- sort
- source
- spawnunit
- spectate
- startdwarf
- starvingdead
- steam-engine
- stockflow
- stockpiles
- stocks
- stonesense
- strangemood
- stripcaged
- superdwarf
- tags
- tailor
- tame
- teleport
- tidlers
- tiletypes
- timestream
- title-folder
- title-version
- trackstop
- troubleshoot-item
- tubefill
- twaterlvl
- tweak
- type
- undump-buildings
- unforbid
- ungeld
- uniform-unstick
- unload
- unretire-anyone
- unsuspend
- view-item-info
- view-unit-reports
- warn-starving
- warn-stealers
- weather
- workNow
- workflow
- workorder
- workorder-recheck
- xlsxreader
- zone
- devel/all-bob
- devel/annc-monitor
- devel/block-borders
- devel/check-other-ids
- devel/check-release
- devel/clear-script-env
- devel/click-monitor
- devel/cmptiles
- devel/dump-offsets
- devel/dump-rpc
- devel/eventful-client
- devel/export-dt-ini
- devel/find-offsets
- devel/find-primitive
- devel/find-twbt
- devel/hello-world
- devel/inject-raws
- devel/inspect-screen
- devel/kill-hf
- devel/light
- devel/list-filters
- devel/lsmem
- devel/lua-example
- devel/luacov
- devel/modstate-monitor
- devel/nuke-items
- devel/pop-screen
- devel/prepare-save
- devel/print-args
- devel/print-args2
- devel/print-event
- devel/query
- devel/save-version
- devel/sc
- devel/scanitemother
- devel/send-key
- devel/spawn-unit-helper
- devel/test-perlin
- devel/unit-path
- devel/visualize-structure
- devel/watch-minecarts
- fix/blood-del
- fix/corrupt-equipment
- fix/dead-units
- fix/drop-webs
- fix/dry-buckets
- fix/item-occupancy
- fix/loyaltycascade
- fix/population-cap
- fix/retrieve-units
- fix/stable-temp
- fix/stuck-merchants
- fix/stuckdoors
- fix/tile-occupancy
- gui/advfort
- gui/autobutcher
- gui/autogems
- gui/blueprint
- gui/choose-weapons
- gui/clone-uniform
- gui/color-schemes
- gui/companion-order
- gui/confirm-opts
- gui/cp437-table
- gui/create-item
- gui/create-tree
- gui/dfstatus
- gui/extended-status
- gui/family-affairs
- gui/gm-editor
- gui/gm-unit
- gui/guide-path
- gui/kitchen-info
- gui/launcher
- gui/liquids
- gui/load-screen
- gui/manager-quantity
- gui/mass-remove
- gui/mechanisms
- gui/mod-manager
- gui/pathable
- gui/petitions
- gui/power-meter
- gui/prerelease-warning
- gui/quantum
- gui/quickcmd
- gui/quickfort
- gui/rename
- gui/room-list
- gui/settings-manager
- gui/siege-engine
- gui/stamper
- gui/stockpiles
- gui/teleport
- gui/unit-info-viewer
- gui/workflow
- gui/workorder-details
- gui/workshop-job
- modtools/add-syndrome
- modtools/anonymous-script
- modtools/change-build-menu
- modtools/create-item
- modtools/create-tree
- modtools/create-unit
- modtools/equip-item
- modtools/extra-gamelog
- modtools/fire-rate
- modtools/force
- modtools/if-entity
- modtools/interaction-trigger
- modtools/invader-item-destroyer
- modtools/item-trigger
- modtools/moddable-gods
- modtools/outside-only
- modtools/pref-edit
- modtools/projectile-trigger
- modtools/random-trigger
- modtools/raw-lint
- modtools/reaction-product-trigger
- modtools/reaction-trigger
- modtools/reaction-trigger-transition
- modtools/set-belief
- modtools/set-need
- modtools/set-personality
- modtools/skill-change
- modtools/spawn-flow
- modtools/spawn-liquid
- modtools/syndrome-trigger
- modtools/transform-unit