the cd command throws both the cd hook and a hilbish.cd hook. i probably added this in the past to differentiate between directory changes being done directly by the user (cd) or done by just a function or other means (hilbish.cd) but fs.cd does not throw a hook at all (#350).
instead, the single hilbish.cd hook should exist and add an additional arg, which defines whether the cd change was done by command or not.