The [exec] command treats ampersands (&) in its arguments specially, e.g. for making execution asynchronous. This can be a problem if an argument, like an URL, contains ampersamds. petterik@gol.com (Petteri K) writes in [the comp.lang.tcl newsgroup]: Would anybody know a workaround in case $url contains character '&' e.g. http://127.0.0.1/cgi-bin/script?var1=abc&var2=xyz [Benjamin Riefenstahl] replied: [exec] plays tricks with quoting which make it impossible for me to get the right command executed in Tcl 8.3.4. What works on W2K here though is this: set url "http://www.tcl.tk?hello&hi" set shell [open "|[file join $env(COMSPEC)]" w] fconfigure $shell -buffering line puts $shell "start \"\" \"$url\"" puts $shell exit close $shell I hope this works on Windows 9x/Me, too. ---- For Unix/Linux, it is highly probable that the line set shell [open "|/bin/sh" w] works as well (but in place of the "start" command you'd have to substitute a more specific one... But one idea for more cross-platformity: Unix has (guaranteed?) env(SHELL) to give the default shell; Windows has env(COMSPEC), Mac I don't know. Would it be worthwile to unify these into a, say, ''::tcl_platform(shell)'' element? ([RS])