When modifying data pack files, for everything else, /reload
will properly load the latest changes to the enabled datapacks into the world. However, when dialogs are defined via JSON files in the datapack, and they’re modified while the world is running, /reload
doesn’t actually load in the new changes. Instead, a full world exit and relog is required to pick up the latest changes, which makes development with dialogs very slow and tedious.
Dialogs are an experimental feature, they require a world reload to be reloaded.
Check MC-272540 and related reports.