In this paper we describe how to optimally design a disability insurance system. The key friction in the model is imperfectly observable disability. We solve a dynamic mechanism design problem and provide a theoretical and numerical characterization of the social optimum. We then propose a simple tax system that implements an optimal allocation as a competitive equilibrium. The tax system that we propose includes only taxes and transfers that are similar to those already present in the U.S. tax code: a savings tax and an asset-tested transfer program. Using a numerical simulation, we compare our optimal disability system to the current disability system. Our results suggest a significant welfare gain from switching to an optimal system.