Not sure how to classify the following behaviour (maybe it is just my misunderstanding). Url_PrefixInstall / [list Handler::Root {}] Url_PrefixInstall /abc [list Handler::Root abc] Url_PrefixInstall /xyz/ [list Handler::Root xyz] proc Handler::Root {directory sock suffix} { Httpd_ReturnData $sock "text/plain" "Root got [list $directory $sock $suffix]" } I got: http://localhost/ -> Root got {} sock10 {} http://localhost/zxcvb/12345 -> Root got {} sock10 zxcvb/12345 http://localhost/abc/qwerty -> Root got abc sock10 /qwerty http://localhost/xyz/asdfg -> Root got {} sock10 xyz/asdfg I expected, for the last case, 'Root got xyz sock10 asdfg'. ---- [Category tclhttpd]