I'm unsure of your code caesar :- if {[scan $text %s channel]} { If the command user mistakingly fails to input any command arguments, then scan will return -1 yet, when used in this way, any non-zero value is considered true. Hence the code inside the if statement may attempt execution, whereas it ...