genai
SECURITY LAB
IncidentsMisinformation

Cursor's AI Support Agent Invented a One-Device Login Policy

Medium severityReal-world incidentApril 2025LLM07: Misinformation
Status: Cursor said no such policy existed, fixed the session race condition behind the logouts, refunded the user and began labelling AI-written support emails
Sources checked October 2026
On this page

The support bot did not know why users were being logged out, so it made up a policy and sent it under a human name.

WhenApril 2025 (on Hacker News 14 April)
TargetCursor email support (Anysphere)
AgentFront-line AI support bot signing as “Sam”
FailureInvented a one-device login policy to explain a logout bug
Real causeSession race condition on very slow connections
ResultPublic cancellations; user refunded; AI support replies now labelled
Attack flow
  1. 1A user is logged out each time they switch machines and emails Cursor support
  2. 2The AI agent “Sam” replies that the logouts are expected under a new login policy
  3. 3The reply spreads, users cancel, and the co-founder says no such policy exists
Try this attack in a live lab Open the lab

What happened

In April 2025, users of Cursor, the AI code editor made by Anysphere, found they were being logged out whenever they moved from one machine to another. One of them emailed Cursor's support address and got a reply from an agent called “Sam”: the logouts were expected, because a subscription was meant for one device only, for security reasons. There was no such policy, and Sam was not a person. The reply came from the AI bot that handled Cursor's front-line email support.

The reply was shared on Reddit. On 14 April the post was submitted to Hacker News under a headline saying Cursor's support had made up a lockout policy, and the thread drew more than 600 comments. Developers took it as a real restriction on a paid tool they ran on several machines, and some said they had cancelled their subscriptions. Co-founder Michael Truell replied on Reddit that Cursor had no such policy, that users were free to run it on multiple machines, and that the reply was a wrong answer from the AI bot that handled first-line support.

How it went wrong

There was no attacker. A paying customer asked about a real bug, and the bot had nothing to check an answer against. Instead of saying it did not know, it produced an explanation that fit the symptom: if you keep getting logged out on a second device, a one-device rule sounds plausible. It then stated that guess as company policy, under a human name, from the official support address.

The real cause was a defect. Truell first said Cursor was checking whether a recent session-security change was to blame. On 16 April, on Hacker News, he gave the finding: on very slow connections, a race condition spawned extra sessions that pushed out the real ones. Cursor rolled out a fix, refunded the user in full, and said AI-assisted replies, its first line of email support, were now clearly labelled.

A guess with a human name on itThe email read like a decision by a Cursor employee. Customers had no way to tell it was an unchecked answer from a model, so they acted on it.

Root cause

Cursor has not said how the bot was set up, but its answer shows two gaps. First, it was free to answer policy and account questions without checking them against a source of truth, so a gap in its knowledge became an invented rule. Second, its reply reached the customer under a persona that read as a human agent, with no label and no human check that caught it. Either control alone would have limited the damage: a grounded bot would have said it could not confirm a policy, and a labelled reply would not have read as an official statement.

The pattern matches the Air Canada chatbot case: a sincere customer question and a company bot stating a policy the company never had. Here the cost was public cancellations rather than a tribunal ruling.

What a test would have caught

A misinformation test set for a support bot should include questions its sources cannot answer: account rules and limits that are not written down anywhere the bot can read. The pass condition is that the bot says it cannot confirm and hands the case to a person. One ordinary question about logouts on a second machine would have shown this bot inventing a rule. Marcus Merrell of Sauce Labs told The Register that the bot's answers were also non-deterministic, so different users could get different replies. A test therefore has to ask each question several times, not once.

How to prevent it

  • Ground policy answers in written policy. If the policy text does not cover the question, the bot says so and escalates. It does not fill the gap.
  • Route bug reports to people. “Why did the product do this?” is a ticket for engineering, not a question for a model.
  • Label AI replies. Do not give a bot a human name and an employee's voice. Cursor added labels after this incident.
  • Review before sending anything that states a rule, a limit or a commitment on the company's behalf.

Feel it yourselfThe replay lab puts you in front of a support bot with a partial policy. One plain question about a topic it does not cover is enough to make it invent a rule.

FAQ

What happened with Cursor's AI support bot?

In April 2025 Cursor's AI email support agent, signing as “Sam”, told a user that being logged out when switching machines was expected under a new login policy. No such policy existed. The reply spread on Reddit and Hacker News, some users cancelled, and co-founder Michael Truell said it was a wrong answer from the AI bot that handles first-line support.

Why did the bot invent a policy?

Cursor has not said what the bot could read, but it was free to answer a policy question without checking a source. Asked about a real bug it could not explain, it produced a plausible rule and stated it as fact. The actual cause was a race condition on very slow connections that spawned extra sessions and pushed out real ones, which Cursor fixed.

How do you stop a support bot from making up policy?

Ground policy answers in written policy, make “I can't confirm that, let me get a person” an accepted answer, send bug reports to humans, label AI-written replies, and test the bot with questions its sources do not cover.

Replay this attack
Ask an airline support bot a sincere question its policy excerpt does not cover and watch it state an invented rule as fact, the same failure that told Cursor users about a one-device policy that never existed.
Open the live lab
A live, sandboxed lab. It recreates the technique, not this exact product.