まず読め http://www.sinatrarb.com/extensions.html Sinatra::Base を直接いじるな。あらゆるSinatraアプリケーションに影響があってきついので、ことモジュラースタイルでは明示的にregisterさせること Extension内部で直接 require 'sinatra' するとモジュラスタイルでサーバが立ち上がり沢山の悲しみが生まれるので、require 'sinatra/base' しなさい http://www.sinatrarb.com/extensions.html に書いてあるAPIだけをできるだけ使え。直接Sinatraのコアクラスにモンキーパッチとかは勘弁 ExtensionはSinatraのnamespace配下で、moduleとして定義される べきだ 。例えば、基本認証を有効にするようなやつなら Sinatra::B