The modal and non-modal linear stability analyses of a three-dimensional plane Couette–Poiseuille flow through a porous channel are studied based on the two-domain approach, where fluid and porous layers are treated as distinct layers separated by an interface. The unsteady Darcy–Brinkman equations are used to describe the flow in the porous layer rather than the unsteady Darcy’s equations. In fact, the Brinkman viscous diffusion terms are necessary to capture the momentum boundary layer developed close to the fluid-porous interface. The modal stability analysis is performed under the framework of the Orr–Sommerfeld boundary value problem. On the other hand, the non-modal stability analysis is performed under the framework of the time-dependent initial value problem in terms of normal velocity and normal vorticity components. The Chebyshev spectral collocation method along with the QZ algorithm is implemented to solve the boundary value problem numerically for disturbances of arbitrary wavenumbers. The convergence test of spectrum demonstrates that more Chebyshev polynomials are required to arrest the flow dynamics in the momentum boundary layer once the Couette flow component is turned on. Two different types of modes, so-called the fluid layer mode and the porous layer mode are identified in the modal stability analysis. The most unstable fluid layer mode intensifies while the most unstable porous layer mode attenuates in the presence of the Couette flow component. Further, the mechanism of modal instability is deciphered by using the method of the energy budget. It is found that the energy production term supplies energy from the base flow to the disturbance via the Reynolds stress, and boosts the disturbance kinetic energies for the fluid layer and the porous layer. Moreover, the non-modal stability analysis demonstrates that short time energy growth exists in the parameter space and becomes significant in the presence of the Couette flow component and the permeability of the porous medium.