Self-hosted worker receives tasks via API but not from web UI (privacy mode enabled)

Hey @kzab2

Thanks for the thorough report, especially the API vs web UI comparison and the exhaustive testing across multiple EC2 instances.

This is a confirmed bug on our side. Other users have also reported the same behavior in this thread and this earlier thread. Our team is aware and actively investigating a fix.

The issue is that the backend retains a reference to a previous worker identity, and when it tries to dispatch a task, it looks for that old identity instead of the currently-connected worker. This affects both web UI and API dispatch once the stale reference gets stored.

To try to recover:

  1. Kill any running worker processes

  2. Full logout: agent logout

  3. Clear local worker state: echo '{"version":1,"workerIdsByDisplayName":{}}' > ~/.cursor/agent-cli-state.json

  4. Fresh login: agent login

  5. Start the worker: agent worker start --api-key "$CURSOR_API_KEY"

  6. Create a brand new session in cursor.com/agents (not from a snapshot or previous session)

The key step is agent logout before agent login. A re-login alone doesn’t reset the backend’s reference to old worker IDs. This recovery was confirmed by another user in this thread.

Privacy mode is not the cause here. The dispatch path is the same regardless of privacy mode settings.

Let me know if the recovery steps help, or if you have any other questions.