Also, i don't understand why session-value does not return the saved string value but generates the "internal error", try this:
(defun f () (let ((username (hunchentoot:parameter "username")) (session (or hunchentoot:*session* (hunchentoot:start-session)))) (if username (setf (hunchentoot:session-value 'sessu session) username)) (format 'nil "session:~a value:~a~%" session (hunchentoot:session-value 'sessu session))))
First send the username: http://127.0.0.1:5050/l?username=jose
after that, get the saved session value http://127.0.0.1:5050/l