Skip to main content

Troubleshooting

Common issues and how to resolve them.

Installation Issues

RoostGPT installer fails to run

Symptom: sudo ./roostgpt-installer.sh exits with an error immediately.

Checks:

  • Confirm the file has execute permissions: chmod +x roostgpt-installer.sh
  • Confirm you have sudo access: sudo -v
  • Check minimum disk space: df -h / and df -h /var/tmp
  • Verify OS version: cat /etc/os-release (must be Ubuntu 22.04+ or RHEL 9.5+)

/var/tmp/Roost mount not working

Symptom: Installer fails or df -h /var/tmp/Roost shows the root filesystem.

Fix:

# Check if the EBS volume is visible
lsblk
blkid

# Ensure the volume is formatted and mounted before running the installer
sudo mkfs -t ext4 /dev/nvme0n1
sudo mount /dev/nvme0n1 /var/tmp/Roost

Authentication & Token Issues

GitHub token: 401 Unauthorized

  • Confirm the token is not expired (GitHub tokens have configurable expiry)
  • Verify the required scopes are selected: repo, admin:repo_hook, notifications, user
  • For Enterprise, confirm GIT_HOSTED_URL matches your instance URL exactly and HOSTED_TYPE=hosted is set

GitLab token: 403 Forbidden

  • Confirm api and write_repository scopes are selected on the token
  • For self-hosted, verify GIT_HOSTED_URL is set to your instance URL and HOSTED_TYPE=hosted is set

Azure DevOps: PAT rejected

  • Check the token hasn't expired
  • Confirm Code (Read & Write) and Pull Request (Read & Write) scopes are included
  • For Work Items, also include Work Items (Read)

OpenAI: 401 Invalid API key

  • Confirm the key starts with sk- and was copied in full
  • Check the key hasn't been revoked at platform.openai.com/api-keys
  • If using project-scoped keys, verify the key has access to the selected model

Test Generation Issues

Tests fail to compile

RoostGPT automatically retries compilation failures. If tests still fail:

  • Check the improvement sidebar for compilation error details
  • Files renamed .java.invalid contain the problematic tests — review manually
  • Provide more context via ROOST_USER_INPUT_FILE to help the model understand dependencies
  • Ensure the correct language version and build tool are selected

Generated tests are not relevant to my code

  • Add business context: provide a Jira story or requirements document via ROOST_USER_INPUT_FILE
  • Verify the correct source file or API spec is being targeted
  • Try a more capable model (e.g., Claude Sonnet 4 or GPT-4o instead of a mini model)

No PR created after generation completes

  • Check Git token permissions include admin:repo_hook and repo scopes
  • Verify the target branch exists and the token has write access
  • Check the RoostGPT logs in the web UI → Logs tab for the specific test run

AWS Bedrock Issues

Bedrock: AccessDeniedException

  • Confirm the IAM user/role has Bedrock permissions attached
  • Verify the model is enabled in the Bedrock Console Model Access page
  • Check the region — not all models are available in all regions

Bedrock: ValidationException on model ID

  • Confirm the inference profile ID format is correct, e.g.: global.anthropic.claude-sonnet-4-20250514-v1:0
  • Set AWS_BEDROCK_MODEL_TYPE=cross-region for cross-region inference profiles
  • See the full list of supported profiles in AWS Bedrock Configuration

Webhook Issues

Webhooks not triggering test generation

  • Verify the payload URL is exactly: https://<your-roost-domain>/api/application/client/git/events/add
  • Check the RoostGPT server is reachable from the Git platform's IP ranges
  • For Azure DevOps, confirm all three service hook subscriptions are created (Code pushed, PR created, PR merged)
  • Check the webhook delivery logs in your Git platform for HTTP response codes

Webhook returns 401 or 403

  • Ensure your RoostGPT instance URL uses HTTPS with a valid certificate
  • Confirm the webhook secret (if configured) matches what the Git platform is sending

Getting More Help

  • Check the FAQ for common questions
  • Contact support: support@roost.ai
  • Include: RoostGPT version (roostgpt --version), OS, test type, and the full error message