I have a self hosted remote machine, which runs multiple agent workers. Web interface (cursor.com/agents) can interact with all started workers independently. The iOS app on the other hand, only sees the last started worker. if I want to talk to other workers through the iOS app, I have to stop the workers which were started after that worker.
The workers are started in independent terminals with different names and different data dirs
Steps to Reproduce
open terminal, navigate to project1 directory, start an agent with “agent worker start --name worker1 --data-dir ./”
Open second terminal, navigate to project2 directory, start an agent with “agent worker start --name worker2 --data-dir ./”
This comes from how the iOS app lists workers: it groups them by computer, so all the workers you start on the same Mac show up as a single row (labeled with one of their names), while cursor.com/agents lists every worker separately. Your other workers are still connected; they’re just behind that one row.
To reach a specific worker from iOS:
In the iOS app, start a new agent.
Tap the runtime picker and choose the row for your Mac (under Self-Hosted Workers or Remote Control).
Tap the repository picker and choose the repository that the worker you want is running in (for example the one checked out in your project2 folder).
Send your message.
The app sends the agent to the worker on that Mac that matches the repository you picked. Agents you already started on a worker stay on that same worker.
The one case this can’t cover is two workers on the same Mac serving the same repository, or a worker folder that isn’t a git repository with a remote. For those, cursor.com/agents in Safari on your phone reaches each worker individually.
Could you try the steps above and let me know whether your second worker’s repository shows up in step 3, and whether the agent lands on the right worker?
it does work like you said, but it is really annoying, and does not work “out-of-the-box”. It requires quite a lot of work.
At first, there is only one repository listed as active, and the same one listed as recent, of the last connected worker, and there is no way to switch to the other ones. I have to start each worker as a standalone worker, the only worker, and prompt that worker from iPhone. Then I have to kill that worker, start the other one, prompt that one. And then, only then, I can start both workers and only then I am able to switch between them.
Then I take my iPad and repeat the same steps, as the iPad is unaware of everything that happened on my phone.
So… I am not sure that this is how it should work. It looks more like a hack then a feature.