For input conditionals, yes. You have to, for the reason you suspect.
Effectively:
Client tests for Input Condition and passes -> Calls ServerBranchAbility -> Server sees the Client wants to branch to that Ability and says “sure” -> Server tells the Client to branch (Client already is branching locally at this point so this is more for remote clients).