CLI starts in plan mode by default (when not in agent mode), but was not calling agent.set_plan_mode(true) at initialization. This meant the gate check would not run until the user explicitly entered plan mode via /plan.