When I asked Cursor to assume a role I setup it said it doesn’t have /opt/cursor/.exec-daemon/aws/credentials-process.json so it doesn’t have initial AWS credentials as described in the documentation
Expected Behavior
The cursor cloud agent should be able to assume the role I setup correctly via the trust policy as described in the docs
This looks like an IAM trust policy misconfiguration rather than a Cursor issue. Cursor is successfully loading the AWS IAM role refresh configuration and initiating the STS AssumeRole call. It’s AWS that’s rejecting the request with an authorization error:
Failed to refresh AWS IAM credential_process payload | error.message: User: arn:aws:sts::289469326074:assumed-role/roleAssumer/cross-account-role-session is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::214286935198:role/ai-agent-cloud-agent
Since this rejection originates from AWS (not Cursor), you’ll likely need to update the trust policy on the target role (ai-agent-cloud-agent) to allow roleAssumer to assume it via sts:AssumeRole.
Generate an external ID: Navigate to Cursor Dashboard → Settings and find the External ID settings. If you don’t see an external ID displayed, enter a placeholder value in the “AWS IAM Role ARN” field, click “Validate & Save”, and reload the page. This will generate an external ID for your team (e.g. cursor-xxx-yyy-zzz).
So definitely don’t use your Team ID!
You’ll need a Team Admin to visit the Advanced section of your team settings.