If you look at the if that gets us into this area, you'll notice it runs this because watch is available (vs. watchfile)

Watchfile is the old way, watch is the new way.  Both are in node-config for backward compatibility, but at some point watchfile will go away.

I think the issue is deeper than changing watch to watchfile.  I think the issue is that the inode representing runtime.json is being changed becuase your editor writes files a certain way (by moving the old file and creating a new file).