CLI 2026.09.28: login stores a token the next command rejects, and headless runs hang on the browser-use plugin

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

CLI version: 2026.09.28-64d2043. The auth failure also happened on 2026.09.26-dd393fe. OS is Linux x64. Plan is Pro+. Model was claude-opus-5-high. cursor-agent about says the CLI is up to date.

Workspace mcp.json lists only the Figma remote MCP, server name figma. The Browser Use plugin is installed from the Cursor marketplace under cursor-public/browser-use. Its mcp entry launches uvx with python 3.12 and browser-use at latest, flag --cli-mcp. I searched the forum and GitHub and did not find either symptom already reported. The public CLI changelog stops at the August 26, 2026 release and has no notes for these two builds.

Issue 1. Login says the token was stored, and the next command rejects it.

cursor-agent login printed that it was logged in and that authentication tokens were stored securely, exit 0. About 30 seconds later, and also when chained in the same shell with &&, this command exited 1 in about one second:

cursor-agent --workspace /workspace/figma-cursor --model claude-opus-5-high -p --trust --force --approve-mcps --output-format text “”

Error text: Your stored authentication is invalid. Please log in again. Then: Please run ‘agent login’ to authenticate. The process never reached Figma. Not a usage limit. Reproduced five times on Sep 29 2026 between 7:01 and 7:25 PM Pacific, including a standalone login at 7:00 PM whose edit failed the same way. A later login from another machine rewrote the CLI auth file at 7:30 PM and cursor-agent status then showed logged in, so the store can succeed and the next process can still reject the token.

Issue 2. After a login that status accepts, a headless run calls Figma and then hangs with the browser-use plugin as its only child.

Same command as above. Status was logged in. The run made Figma MCP HTTP calls (about 7:49 to 7:50 PM PT, and again through 8:04 PM PT) and then produced zero stdout. CPU sat around 0.6 percent. The only child process was uv tool uvx, python 3.12, browser-use at latest, flag --cli-mcp. The prompt said to use only the Figma MCP and not a browser. That did not stop the plugin process. The run never wrote the file. SIGTERM (exit 143) was the only way out. The same command succeeded on Sep 25 through Sep 27 on an earlier CLI build and wrote through the Figma MCP without opening a browser.

Expected: a token that login just stored is accepted by the next process, and a headless print run does not block on an installed plugin MCP the task is not using.

Steps to Reproduce

  1. Run cursor-agent login and then the headless command described above.
  2. Observe the stored-authentication rejection on the next process.
  3. After a successful login, run the same headless command with Figma and the installed browser-use MCP; observe the hang.

Operating System

Linux

Version Information

CLI Version: 2026.09.28-64d2043

For AI issues: which model did you use?

claude-opus-5-high

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey @moonj_asmr, thanks for the report!

On the second issue: those runs weren’t actually stuck. On our side each one was working through the Figma MCP the whole time, but some model responses took 2 to 4 minutes to start, and --output-format text only prints once the final answer is ready, so it looks frozen until then. The browser-use process is just the plugin’s MCP server starting up with the CLI, and it wasn’t being called.

To see progress while it runs, try:

cursor-agent ... -p --output-format stream-json --stream-partial-output "<prompt>"

If you’d rather not start the browser-use server at all for these runs, cursor-agent mcp disable <name> (the name from cursor-agent mcp list) turns it off.

On the login issue: it looks like you’re running the CLI on your Grok Bot’s computer. Could you run these two commands, once in the terminal where you run cursor-agent login and once in the shell that runs the headless command?

  1. id -un; echo "HOME=$HOME XDG_CONFIG_HOME=$XDG_CONFIG_HOME"
  2. ls -la "${XDG_CONFIG_HOME:-$HOME/.config}/cursor/auth.json"

If the two outputs point at different files, that explains why the next command doesn’t see the fresh login. Either way, please paste both outputs and we’ll take it from there.