We analyze the lifetime consumption-portfolio problem in a competitive securities market with continuous price dynamics, possibly nontradeable income, and convex trading constraints. We define a class of "translation-invariant" recursive preferences, which includes additive exponential utility, but also non-additive recursive and multiple-prior formulations, and allows for first and second-order source-dependent risk aversion. For this class, we show that the solution reduces to a single constrained backward stochastic differential equation (BSDE), which for an interesting class of incomplete-market problems simplifies to a system of ordinary differential equations of the Riccati type.