SQLServer Object "name" definition has changed since it was compiled
Are you changing a procedure in one window and running it in another?
Yes it is. I am updating it in SSMS and running a separate application that calls the procedure
You need to end the session in which you are editing the procedure. Changes are visible only in the editing session until they are completed.
source to share