We''ve gotten several reports on #merb that each request gets a new session ID in 0.4.0. I quickly tested and verified. scoundrel tracked it down, and I think it''s fixed. If you need to apply this by hand to your 0.4.0 install, it''s a 1 line fix: Index: /trunk/lib/merb/controller.rb ==================================================================--- /trunk/lib/merb/controller.rb (revision 904) +++ /trunk/lib/merb/controller.rb (revision 961) @@ -12,5 +12,5 @@ self._subclasses = [] - self._session_id_key = :_session_id + self._session_id_key = ''_session_id'' self._session_expiry = Time.now + Merb::Const::WEEK * 2 This will be in 0.4.1 when it comes out RSN.