The message passed to opencode run contains newlines and special characters (parentheses, etc.) which break shell parsing when passed directly in double quotes. Fix by writing message to temp file and using '@msg_file' syntax to pass to opencode run. This handles any characters in the message.