{clip}
is usually evaluated before any commands run, so it's probably inserting the old clipboard text.
There's no reason to set the clipboard in one command just to store the name of a file to use in the next command. Just use the filename directly, e.g. {file|noext}
. Then you don't trash your clipboard for no reason every time you use the button.