  The design of decoding algorithms is a significant technological component in
the development of fault-tolerant quantum computers. Often design of quantum
decoders is inspired by classical decoding algorithms, but there are no general
principles for building quantum decoders from classical decoders. Given any
pair of classical codes, we can build a quantum code using the hypergraph
product, yielding a hypergraph product code. Here we show we can also lift the
decoders for these classical codes. That is, given oracle access to a minimum
weight decoder for the relevant classical codes, the corresponding $[[n,k,d]]$
quantum code can be efficiently decoded for any error of weight smaller than
$(d-1)/2$. The quantum decoder requires only $O(k)$ oracle calls to the
classical decoder and $O(n^2)$ classical resources. The lift and the
correctness proof of the decoder have a purely algebraic nature that draws on
the discovery of some novel homological invariants of the hypergraph product
codespace. While the decoder works perfectly for adversarial errors, it is not
suitable for more realistic stochastic noise models and therefore can not be
used to establish an error correcting threshold.
