Hi. Thanks for the detailed report, and sorry for the trouble. This was a genuine bug in Studio, not anything you're doing wrong.
When you add a file to a project's Resources, Studio stores only its bytes. Every time you Run, Build, or Publish, it recreates the resource files from those bytes, and on macOS that recreates them with default permissions (644) so the Unix execute permission is lost. That's exactly what you saw, and why chmod 755 on the deployed copy makes it work again.
I've fixed this for the next release: https://feedback.objo.dev/bug/1545
Studio now records whether an imported resource is executable, keeps that information with the project when it is saved, and restores the execute permission on the copies it creates when Running, Building, or Publishing on macOS and Linux. Ordinary data resources are untouched.
One thing to note once you update: re-add the CLI app to your project's Resources (remove it from the project and import it again). The executable state is recorded when a file is imported, so resources that were already in a project from before the fix need one re-import to pick it up.
Until the release is out, your chmod workaround on the deployed copy remains the way to go.
@Richard_And_Trisha — thanks for the suggestion, but Application Support isn't a good fit here: it's for data your app writes at runtime, whereas a helper tool has to ship inside the app bundle itself. With this fix, Resources is the right place for it.