Not sure if this is possible. I’ve got this command: function task() { command task "$@" $FILTER } Task has tab completion. But I don’t want the $FILTER arguments to get processed by tab completion. But when I hit return to run the actual command, I’d like them to get injected in as an argument just before the command runs.