In mud.h After: #define CMD_WATCH BV02 /* FB */ Add: #define CMD_FULLNAME BV03 /* Commands flagged with this must be typed entirely */ in build.c in cmd_flags[] at "possessed", "polymorphed", "r1", "r2", change the "r2" to "fullname" (r1 should be "watch" and may by corrected in yours already) in interp.c in void interpret change: for ( cmd = command_hash[LOWER(command[0])%126]; cmd; cmd = cmd->next ) if ( !str_prefix( command, cmd->name ) into: for ( cmd = command_hash[LOWER(command[0])%126]; cmd; cmd = cmd->next ) if ( (( !IS_SET(cmd->flags, CMD_FULLNAME) && !str_prefix( command, cmd->name ) ) || ( IS_SET(cmd->flags, CMD_FULLNAME) && !str_cmp( command, cmd->name ) ) ) When finished this can be used to 'safety' commands that you do not wish to have used on accident, or do not want people to abbreviate. A command with the fullname flag will not be identified by interpret, unless its been typed out fully. This removes the needs for commands such as 'reboo' to nanny things you dont want accidentally triggered. Its suggested any command you attach this flag to, include that info in its helpfile so you don't get bombarded with "Why won't it work when I type it?" bug reports.