I have been using the builtin macOS `caffeinate` command for this.
For example:
caffeinate -dimsu
That keeps the Mac awake so I can use Claude remotely from phone.
You can also wrap your command as well, but I rarely use it.
caffeinate -dimsu your-agent-command