Found it: The script MUST return something to the browser. I was missing this: ======== print "Content-Type: text/html;charset=utf-8" print # print a document print "Name is %s" % ( cgi.escape(name), ) ======== Sorry about that.