Разобрался.
В jade/pug важны отступы. У меня код был в начале строки на самом деле. Так нельзя. Нужно обязательно с таким же отступом как тег li:
ul.nav.navbar-nav
            li
              a(href='/') Home
            - if(!user) {
            li
              a(href='/login') Login
            - }
            - else {
            li
              a(href='/logout') Logout
            -}
Скобки тоже важны. Иначе в else попадет все что после него.
PS: Что-то первая строка в коде показывается на форуме не с тем отступом что у меня.