Task execution issues
Task timed out
Task timed out
Symptom: Status is
timed_out, task exceeded max_steps limit.Common causes:- Task is too complex for the default step limit
- AI got stuck in a navigation loop
- Missing completion criteria causes infinite attempts
- Increase
max_stepsin your task parameters (default: 50, max: 75) - Add explicit completion criteria: “COMPLETE when you see ‘Order confirmed’”
- Break complex tasks into multiple workflow blocks
- Check the recording to see where it got stuck
Task completed but output is wrong
Task completed but output is wrong
Symptom: Status is
completed, but extracted data is incorrect or incomplete.Diagnostic steps:- Check
screenshot_final— Did it end on the right page? - Check
llm_response_parsed— Did it target the right elements?
- Add specific descriptions in your schema:
"description": "The price in USD, without currency symbol" - Add visual hints in your prompt: “The price is displayed in bold below the product title”
- Make schema fields optional where data might not always be present
- Add validation: “Only extract data visibly displayed on the page. Return null if not found”
Run stuck in queued state
Run stuck in queued state
Symptom: Run stays in
queued status and never starts.Likely causes:- Concurrency limit reached for your account
- Sequential run lock active (another run with same credential)
- High platform load
- Wait for other runs to complete
- Check your plan’s concurrency limits in Settings
- If using “Run Sequentially” with credentials, ensure prior runs finish
- Contact support if issue persists
504 Gateway Timeout on browser session
504 Gateway Timeout on browser session
Symptom: Getting
504 Gateway Timeout errors when creating browser sessions.Solutions:- Retry after a few seconds — usually transient
- For self-hosted: check infrastructure resources (memory, CPU)
- If persistent, contact support with your run IDs
Element interaction issues
AI clicked the wrong element
AI clicked the wrong element
Symptom: Recording shows AI clicking something other than intended.Diagnostic steps:
- Check
visible_elements_tree— Was the element detected? - Check
llm_prompt— Was the target described clearly?
- Add distinguishing details: “Click the blue Submit button at the bottom of the form”
- Reference surrounding text: “Click Download in the row that says ‘January 2024’”
- Be specific about position: “Click the first result” or “Click the link in the header”
- Add visual context about nearby elements
Element not found
Element not found
Symptom:
failure_reason mentions element couldn’t be found.Common causes:- Element loads dynamically after page appears
- Element is inside an iframe
- Element requires scrolling to become visible
- Element uses unusual rendering (canvas, shadow DOM)
- Add
max_screenshot_scrollsto capture lazy-loaded content - Describe elements visually rather than by technical properties
- Add explicit wait instructions: “Wait 3 seconds for the page to fully load”
- Add scroll instructions: “Scroll down to find the element”
Date fields entering wrong values
Date fields entering wrong values
Symptom: Dates entered in wrong format (MM/DD vs DD/MM) or wrong date entirely.Solutions:
- Specify exact format: “Enter the date as 15/01/2024 (DD/MM/YYYY format)”
- For date pickers: “Click the date field, then select January 15, 2024 from the calendar”
- If site auto-formats: “Type 01152024 and let the field format it”
- Provide the exact date string to enter
Address autocomplete issues
Address autocomplete issues
Symptom: AI keeps cycling through address suggestions or selects wrong address.Solutions:
- Specify selection: “Type ‘123 Main St’ and select the first suggestion showing ‘New York, NY’”
- Disable autocomplete: “Type the full address without using autocomplete suggestions”
- Break into steps: “Enter street address, wait for dropdown, select the matching suggestion”
- Add wait time after typing
Authentication issues
Login failed
Login failed
Symptom: Status is
terminated with login-related failure reason.Diagnostic steps:- Check
screenshot_final— Is there an error message? - Watch the
recording— Were fields filled correctly?
- Expired or incorrect credentials
- CAPTCHA appeared
- MFA/2FA required but not configured
- Site detected automation
- Verify credentials in your credential store
- Use
RESIDENTIAL_ISPproxy for more trusted IPs - Configure TOTP if MFA is required
- Use a browser profile with an existing authenticated session
CAPTCHA blocked the run
CAPTCHA blocked the run
Symptom:
failure_reason mentions CAPTCHA.Solutions (in order of preference):- Browser profile — Use an authenticated session that skips login entirely
- Human interaction block — Pause the workflow for manual CAPTCHA solving
- Residential proxy — Use
RESIDENTIAL_ISPfor static IPs that sites trust more
Skyvern has built-in CAPTCHA solving for common types, but some sites use advanced anti-bot measures that require human intervention.
2FA/MFA required
2FA/MFA required
Symptom: Login fails at 2FA step.Solutions:
-
TOTP (Time-based One-Time Password):
- Go to Settings > Credentials
- Create a new TOTP credential with your authenticator secret
- Reference the TOTP credential in your workflow’s login block
-
Email OTP:
- Set up an email listener (Zapier, custom webhook, etc.)
- Use a Human Interaction block to wait for the code
- Send the code back to Skyvern via API
-
SMS OTP:
- Similar to email OTP, use external integration
- Consider if the site supports TOTP as an alternative
Browser and proxy issues
Site blocking Skyvern
Site blocking Skyvern
Symptom: Site shows anti-bot page or blocks access.Common causes:
- IP reputation (datacenter IPs often blocked)
- Browser fingerprinting detection
- Rate limiting
- Use
RESIDENTIAL_ISPproxy for consistent, trusted IPs - Create a browser profile with an existing authenticated session
- Slow down requests by adding explicit waits
- Avoid rapid repeated requests to the same endpoint
Site showing wrong language
Site showing wrong language
Symptom: Site displays in unexpected language based on proxy location.Solutions:
- Use appropriate proxy:
RESIDENTIAL_USfor English US sites - Add instruction: “If the site asks for language preference, select English”
- Set language in URL if supported:
https://example.com/en/ - Use browser profile with language preference set
Cookies not persisting
Cookies not persisting
Data extraction issues
AI hallucinating data
AI hallucinating data
Symptom: Extracted data contains information not visible on the page.Diagnostic steps:
- Check
screenshot_final— Is the data actually visible? - Check
llm_response_parsed— What did the AI claim to see?
- Add instruction: “Only extract data visibly displayed on the page. Return null if not found”
- Make schema fields optional where appropriate
- Add validation rules in your schema descriptions
- Be explicit: “If price is not displayed, set price to null instead of guessing”
File downloads not working
File downloads not working
Symptom: Files download repeatedly, wrong files, or downloads don’t complete.Diagnostic steps:
- Watch the
recording— Was the download button clicked correctly? - Check
downloaded_filesin the response
- Be specific: “Click the PDF download button, not the Excel one”
- Add wait time: “Wait 5 seconds for the download to complete”
- For multi-step downloads: “Click Download, then select PDF format, then click Confirm”
- Check if download requires authentication or cookies
Extracted data in wrong format
Extracted data in wrong format
Symptom: Data type doesn’t match schema or is formatted incorrectly.Solutions:
- Add format specification in description:
"description": "Price as a number without currency symbol" - Specify units:
"description": "Weight in pounds (numeric value only)" - Add examples in description:
"description": "Date in YYYY-MM-DD format, e.g., 2024-01-15" - Use proper JSON schema types (string, number, boolean, array, object)
Workflow issues
Workflow gets stuck in a loop
Workflow gets stuck in a loop
Symptom: Recording shows AI repeating the same actions without progressing.Diagnostic steps:
- Watch the
recording— What pattern is repeating? - Check conditional block exit conditions
- Add termination instruction: “STOP if you’ve attempted this action 3 times without success”
- Add completion markers: “COMPLETE when you see ‘Success’ message”
- Review loop conditions — ensure exit criteria are achievable
- Add explicit step limits
Parameters not being used
Parameters not being used
Symptom: Workflow doesn’t use the parameter values passed.Common causes:
- Incorrect parameter placeholder syntax
- Parameter name mismatch (case-sensitive)
- Parameter not defined in workflow
- Parameter passed after run started
- Use correct syntax:
{{ parameter_name }}(NOT{parameter_name}or$parameter_name) - Verify parameter name matches exactly (case-sensitive)
- Ensure parameter is defined in the workflow’s parameter list
- Pass parameters when starting the run, not after
Credentials not working in workflow
Credentials not working in workflow
Symptom: Login block fails despite valid credentials.Solutions:
- Verify credentials in Settings > Credentials
- Check credential is selected in the Login block’s dropdown
- Ensure credential type matches (username/password vs TOTP)
- Test credentials manually to verify they work
- Check if site requires additional verification
Self-hosting issues
Database connection failed
Database connection failed
Symptom: Skyvern server won’t start, database connection errors.Solutions:
- Verify PostgreSQL is running
- Check connection string format:
postgresql+psycopg://user:password@localhost:5432/skyvern - Ensure database exists:
createdb skyvern - Run migrations:
alembic upgrade head - Check firewall/network access to database
Browser won't launch
Browser won't launch
Symptom: Tasks fail immediately with browser launch errors.Solutions:
- Ensure Playwright browsers are installed:
playwright install chromium - Check Chrome/Chromium path in environment variables
- Verify sufficient disk space and memory
- For Docker: ensure container has proper permissions
- Check logs for specific error messages
LLM API errors
LLM API errors
Symptom: Tasks fail with LLM-related errors.Solutions:
- Verify API key is valid and has credits
- Check
LLM_KEYenvironment variable is set correctly - Ensure
ENABLE_OPENAI(or appropriate provider) istrue - Check API rate limits
- Verify network access to LLM provider API
Still having issues?
Error Handling
Understanding and handling errors
View Artifacts
Learn how to inspect recordings and logs
FAQ
Frequently asked questions
Get Support
Join our Discord community