Presets¶
Presets replaced the old taxonomy-profile setting.
nah now always loads the full built-in taxonomy, classifiers, safety lists,
sensitive path checks, and content scanners. Older config keys like
profile: full, profile: minimal, and profile: none are accepted for
compatibility, but ignored. In particular, profile: none no longer disables
built-in safety checks.
Use presets when you want a named policy bundle for a workflow:
# ~/.config/nah/config.yaml
actions:
unknown: ask
presets:
strict:
actions:
network_outbound: ask
lang_exec: ask
unknown: ask
work:
trusted_paths:
- ~/work/scratch
targets:
codex:
actions:
filesystem_write: ask
Select a preset explicitly:
nah run claude --preset strict
nah run codex --preset work
nah test --preset strict "python3 script.py"
nah config show --preset work
NAH_PRESET=work claude
Inspect configured presets:
nah config presets
nah config presets strict
nah config show --preset strict
Merge rules are intentionally simple:
- Dicts deep-merge.
- Scalars replace.
- Lists replace.
Presets are global-only in this version. Project .nah.yaml files cannot
define or select presets. Unknown selected preset names fail closed.