fix shell recognition issue once and for all