Troubleshooting

Common fixes for installation, authentication, and runtime problems when working with RAPS.

Installation issues

  • Command not found β€” confirm raps is on your PATH. On Windows, reopen your terminal after Scoop/PowerShell installs; on macOS/Linux ensure /usr/local/bin or your chosen install directory is in PATH.
  • Outdated binary β€” run raps --version and reinstall from Releases or your package manager if the version is below the one referenced in docs/blog posts.
  • Missing SSL certificates β€” container images or minimal distros may not ship CA bundles. Install ca-certificates (Debian/Ubuntu) or ca-certificates-utils (Arch) to allow OAuth traffic.

Authentication problems

  • Invalid client credentials β€” re-copy the APS_CLIENT_ID and APS_CLIENT_SECRET from the APS Developer Portal and run raps auth test. Clipboard whitespace or swapped values are the most common causes of 401 responses.
  • Device code timeouts β€” if SSO approval takes too long, use raps auth login --force-pkce to trigger an interactive PKCE flow in the browser instead of the device code loop.
  • Multiple profiles β€” raps config profile list shows which profile is active. Use raps config profile use staging (or another name) before running commands to avoid mixing sandbox and production tokens.

Authorization and permissions

  • 403 Forbidden β€” verify the APS app has the correct scopes for the API you are calling. For bucket/object operations you typically need data:read, data:write, and bucket:create scopes.
  • ACC/BIM 360 access β€” ensure the APS app is added to the BIM 360 account with the right role. Without admin approval, folder or issue queries will return empty lists.
  • Region mismatches β€” list your buckets with raps bucket list --region us or --region emea to ensure uploads and translations happen in the correct region.

Security and token storage (v3.7.0+)

  • Keychain access errors β€” if you get β€œaccess denied” errors with keychain storage, run raps config set use_keychain false to temporarily use file storage while diagnosing keychain issues.
  • Token migration β€” when upgrading from v3.6.x or earlier, run raps config migrate-tokens to move existing tokens from file storage to secure keychain storage.
  • Headless environments β€” in Docker containers or CI environments without keychain support, use RAPS_USE_FILE_STORAGE=true environment variable to enable file-based token storage.

Workflow reliability

  • Large uploads β€” switch to multipart uploads with raps object upload my-bucket model.rvt --multipart --chunk-size 16MB to avoid timeouts over slow networks.
  • Translation stuck in pending β€” use raps translate status $URN --wait --interval 10 to poll and surface errors. If status stays pending, re-run with the correct input format flag (e.g., --format svf2).
  • CI/CD flakiness β€” enable verbose logs with RAPS_LOG=debug in your workflow and check for retryable HTTP codes. Standardized exit codes (raps --help exit-codes) help fail fast in pipelines.

Batch upload resume (v4.5)

  • State file location β€” batch upload state is saved in ~/.config/raps/batch-state.json (Linux/macOS) or %APPDATA%\raps\batch-state.json (Windows).
  • Stale state β€” if --resume fails with β€œno matching state”, delete the state file manually and start fresh.
  • Partial failures β€” when some files fail in a batch, state is saved automatically. Re-run with --resume to retry only failed files.
  • Different bucket β€” resume only works for the same bucket and file set. Changing the target bucket requires a fresh upload.

Getting help

If issues persist, open a GitHub issue with your OS, RAPS version, and a minimal command that reproduces the problem. Sanitizing secrets before sharing logs keeps credentials safe.