Skip to content

firecrawl crawl --wait hangs indefinitely on self-hosted instances without --progress flag #3210

@guitarasuniverse-ux

Description

@guitarasuniverse-ux

Bug Description

When running firecrawl crawl <url> --wait against a self-hosted Firecrawl instance, the command hangs indefinitely if the --progress flag is not specified.

firecrawl crawl <url> --wait --progress works correctly and returns results as expected.

Root Cause

In firecrawl/cli/src/commands/crawl.ts, the --wait flag has two code paths:

  1. --wait --progress: Uses a custom while(true) polling loop that calls getCrawlStatus() repeatedly. Works correctly.

  2. --wait (without --progress): Calls app.crawl() — the SDK's built-in polling method, which is incompatible with self-hosted API.

The SDK's polling relies on mechanisms that don't work against self-hosted instances (likely RabbitMQ LISTEN/NOTIFY vs HTTP polling mismatch).

Environment

  • CLI version: 1.10.0
  • SDK version: @mendable/firecrawl-js@4.15.4
  • Deployment: Self-hosted Docker (localhost:3002)

Steps to Reproduce

  1. Start a self-hosted Firecrawl instance
  2. Run: firecrawl crawl https://example.com --wait --limit 1
  3. Command hangs indefinitely

Expected Behavior

firecrawl crawl <url> --wait should block and return results regardless of --progress flag.

Workaround

Use --wait --progress — works correctly.

Possible Fix

Use the same custom polling loop for --wait without --progress, rather than delegating to app.crawl().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions