Terminal Links Ignoring Settings - Breaking Developer Workflow

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

The Problem: A Simple Setting That Should Work, But Doesn’t

When I’m developing, I constantly need to test my app. I run npm run dev, see link in the terminal, and I want to Cmd+Click that URL to quickly open it in Chrome. This should be a simple, frictionless action that takes half a second.

Instead, Cursor opens it in its internal browser. Every. Single. Time.

This breaks my flow. I’m in the zone, iterating quickly, and suddenly I’m stuck in Cursor’s internal browser instead of my actual browser where I have all my dev tools, extensions, and workflow set up. I have to manually copy the URL, switch to Chrome, paste it, and navigate there. What should be instant becomes a multi-step process that kills momentum.

This should be fixable with a simple setting. VS Code has terminal.integrated.openLinks that controls exactly this behavior. I’ve set it to “external”. I’ve tried every related setting I can find. Nothing works. The settings are being completely ignored.

Steps to Reproduce

Steps to Reproduce
Open Cursor IDE
Open integrated terminal
Run any command that outputs a URL (e.g., npm run dev, echo “link”)
Cmd+Click the URL
Observe it opens in Cursor’s internal browser instead of Chrome
This happens 100% of the time, regardless of settings.

Expected Behavior

Expected vs Actual Behavior
Expected: When I click a URL in the terminal, it opens in my system’s default browser (Chrome, set in macOS System Settings).

Actual: URLs clicked in the terminal always open in Cursor’s internal browser, regardless of settings.

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

OS: macOS Sequoia 15.2 (Darwin arm64 24.6.0)
Hardware: Mac mini M4
Default Browser: Google Chrome (confirmed in System Settings)
Cursor Version: 2.1.50
VS Code Version: 1.105.1
Commit: 56f0a83df8e9eb48585fcc4858a9440db4cc7770
Build Date: 2025-12-06T23:39:52.834Z (16 hrs ago)
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0

Additional Information

Based on my investigation, here’s the architecture:

xterm.js (the terminal library) detects the link click and fires an event
VS Code’s terminal link handler should intercept this and check terminal.integrated.openLinks
If set to “external”, it should call Electron’s shell.openExternal(url) which respects macOS default browser settings
Cursor’s modifications appear to be intercepting terminal link clicks BEFORE VS Code’s handler runs, routing them to the internal browser instead
Root Cause Analysis
I believe Cursor is doing one of the following:

Intercepting terminal link clicks before VS Code’s handler: Cursor’s modified terminalLinkHandler.ts is catching the click event first and routing to internal browser, never checking the terminal.integrated.openLinks setting.

UI toggle overriding JSON settings: There may be a UI setting (like “Show Localhost Links in Browser” in Tools & MCP) that takes precedence over settings.json settings, but it’s not clear which setting controls terminal links specifically.

Hardcoded behavior: Cursor may have hardcoded internal browser behavior for all terminal links, ignoring user preferences entirely.

Configuration Attempted
I’ve added all of these to ~/Library/Application Support/Cursor/User/settings.json:

{
“terminal.integrated.openLinks”: “external”,
“workbench.externalBrowser”: “default”,
“workbench.editor.openLinks”: “external”,
“workbench.editor.customEditor.openLinks”: “external”
}
I’ve also:

Confirmed Chrome is set as default browser in macOS System Settings
Fully quit and restarted Cursor after each settings change
Verified settings persist in the JSON file
Checked for workspace-specific settings that might override
None of this works. The settings are being completely ignored.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Couldn’t add the links, that would make more sense because of the way the forum is set up. It doesn’t allow people to post links if they’re new, but a link should look something like this: http://localhost:3000

Hey, thanks for the report. Please go to Settings > Tools & MCP and turn off “Show Localhost Links in Browser.”

Hi Dean,

Thanks for it. Looks like I already had this on.

Thanks. In the screenshot the toggle is enabled. Please turn off “Show Localhost Links in Browser”, then restart Cursor and try again. This setting opens localhost links in the built-in tab.

Hey, that was already set, but thanks, I appreciate it. I did a recent update with Cursor, and there’s now a configuration that lets me select the default browser. So, I think it was fixed with a release.

1 Like

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.