Missing from the documentation (http://codeigniter.com/user_guide/general/creating_libraries.html) for CI 2.x is the requirement that MY_ classes (that extend natives) need to be loaded for use (and if extending a controller, no Loader member is available before the class definition, so would require PHP native include or requires).

From the CI forums, here’s a handy autoloader:

With the above (in application/config/config.php), you can use your extended controller cleanly: