Autocomplete Not Working in Cursor

Describe the Bug

Hello everyone,
I’m experiencing an issue with the Cursor application where the autocomplete feature has suddenly stopped working, while the chat functionality is still operational.

Steps to Reproduce

I’ve already tried several troubleshooting steps:
1. Updated Cursor: I made sure to update to the latest version.
2. Disabled and Relaunched the App: I turned off the app and restarted it to see if that would help.
3. Checked Cursor Tab: I double-checked that the Cursor tab at the bottom right is indeed enabled.
Has anyone else encountered this problem? Any suggestions or solutions would be greatly appreciated!

Operating System

MacOS

Current Cursor Version (Menu → Abount Cursor → Copy)

My setup:
• Cursor Version: 0.43.6
• VSCode Version: 1.93.1
• Commit: a846435528b4b760494a836f96f0739889253530
• Date: 2024-12-06T05:11:55.168Z
• Electron: 30.5.1
• Chromium: 124.0.6367.243
• Node.js: 20.16.0
• V8: 12.4.254.20-electron.0
• OS: Darwin arm64 24.1.0

Additional Infomation

None

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, Do you have a Pro subscription?

yes

Please share this information:

Thanks.
1)I’m using VPN and SSH to a remote-server. Some additional context is that I found that its not working only for a certain VPN connections, what might be a workaround for this issue?
2)There is indeed an error in the developer console:

2workbench.desktop.main.js:3019 Error refreshing default models: ConnectError: [internal] HTTP 400
    at Object.F [as unary] (workbench.desktop.main.js:3856:12076)
    at async Object.availableModels (workbench.desktop.main.js:266:139256)
    at async Be.refreshDefaultModels (workbench.desktop.main.js:3774:3816)
    at async E.withSemaphore (workbench.desktop.main.js:345:1476)
console.error @ workbench.desktop.main.js:3019
workbench.desktop.main.js:2200 An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing.
mountTo @ workbench.desktop.main.js:2200
P @ workbench.desktop.main.js:2456
claim @ workbench.desktop.main.js:2456
claim @ workbench.desktop.main.js:2099
claim @ workbench.desktop.main.js:3114
hb @ workbench.desktop.main.js:2456
setInput @ workbench.desktop.main.js:2456
await in setInput (async)
S @ workbench.desktop.main.js:3108
L @ workbench.desktop.main.js:3108
openEditor @ workbench.desktop.main.js:3108
(anonymous) @ workbench.desktop.main.js:4239
Kb @ workbench.desktop.main.js:4239
Jb @ workbench.desktop.main.js:4239
openEditor @ workbench.desktop.main.js:4239
re @ workbench.desktop.main.js:3131
(anonymous) @ workbench.desktop.main.js:3131
workbench.desktop.main.js:3019 [Cpp] Error updating ghost text TypeError: Cannot read properties of undefined (reading 'getHTMLElement')
    at J.isFocused (workbench.desktop.main.js:3292:71153)
    at li.isProblemFocused (workbench.desktop.main.js:4213:2696)
    at li.isTextFocusedOrSimilarlyFocused (workbench.desktop.main.js:4213:2811)
    at x.update (workbench.desktop.main.js:3816:4457)
    at f.update (workbench.desktop.main.js:3817:3320)
    at y.value (workbench.desktop.main.js:3817:835)
    at d.B (workbench.desktop.main.js:438:732)
    at d.C (workbench.desktop.main.js:438:802)
    at d.fire (workbench.desktop.main.js:438:1018)
    at X.setModel (workbench.desktop.main.js:1287:507)
    at R.setInput (workbench.desktop.main.js:3110:22734)
    at async p.S (workbench.desktop.main.js:3108:24937)
    at async p.L (workbench.desktop.main.js:3108:23460)
    at async p.openEditor (workbench.desktop.main.js:3108:22442)
    at async workbench.desktop.main.js:4239:107382
console.error @ workbench.desktop.main.js:3019
update @ workbench.desktop.main.js:3817
(anonymous) @ workbench.desktop.main.js:3817
B @ workbench.desktop.main.js:438
C @ workbench.desktop.main.js:438
fire @ workbench.desktop.main.js:438
setModel @ workbench.desktop.main.js:1287
setInput @ workbench.desktop.main.js:3110
await in setInput (async)
S @ workbench.desktop.main.js:3108
L @ workbench.desktop.main.js:3108
openEditor @ workbench.desktop.main.js:3108
(anonymous) @ workbench.desktop.main.js:4239
Kb @ workbench.desktop.main.js:4239
Jb @ workbench.desktop.main.js:4239
openEditor @ workbench.desktop.main.js:4239
accept @ workbench.desktop.main.js:2156
(anonymous) @ workbench.desktop.main.js:1143
B @ workbench.desktop.main.js:438
C @ workbench.desktop.main.js:438
fire @ workbench.desktop.main.js:438
Ub @ workbench.desktop.main.js:1143
(anonymous) @ workbench.desktop.main.js:1143
workbench.desktop.main.js:3019 [Cpp] Error updating ghost text TypeError: Cannot read properties of undefined (reading 'getHTMLElement')
    at J.isFocused (workbench.desktop.main.js:3292:71153)
    at li.isProblemFocused (workbench.desktop.main.js:4213:2696)
    at li.isTextFocusedOrSimilarlyFocused (workbench.desktop.main.js:4213:2811)
    at x.update (workbench.desktop.main.js:3816:4457)
    at f.update (workbench.desktop.main.js:3817:3320)
    at y.value (workbench.desktop.main.js:3817:955)
    at d.B (workbench.desktop.main.js:438:732)
    at d.C (workbench.desktop.main.js:438:802)
    at d.fire (workbench.desktop.main.js:438:1018)
    at y.value (workbench.desktop.main.js:1287:17895)
    at d.B (workbench.desktop.main.js:438:732)
    at d.fire (workbench.desktop.main.js:438:949)
    at v.r (workbench.desktop.main.js:466:95169)
    at v.endEmitViewEvents (workbench.desktop.main.js:466:95670)
    at workbench.desktop.main.js:1285:4521
    at Object.batchChanges (workbench.desktop.main.js:1287:16694)
    at D.U (workbench.desktop.main.js:1285:4435)
    at D.restoreCursorState (workbench.desktop.main.js:1285:2893)
    at X.restoreViewState (workbench.desktop.main.js:1287:7647)
    at R.setInput (workbench.desktop.main.js:3110:22848)
    at async p.S (workbench.desktop.main.js:3108:24937)
    at async p.L (workbench.desktop.main.js:3108:23460)
    at async p.openEditor (workbench.desktop.main.js:3108:22442)
    at async workbench.desktop.main.js:4239:107382
console.error @ workbench.desktop.main.js:3019
update @ workbench.desktop.main.js:3817
(anonymous) @ workbench.desktop.main.js:3817
B @ workbench.desktop.main.js:438
C @ workbench.desktop.main.js:438
fire @ workbench.desktop.main.js:438
(anonymous) @ workbench.desktop.main.js:1287
B @ workbench.desktop.main.js:438
fire @ workbench.desktop.main.js:438
r @ workbench.desktop.main.js:466
endEmitViewEvents @ workbench.desktop.main.js:466
(anonymous) @ workbench.desktop.main.js:1285
batchChanges @ workbench.desktop.main.js:1287
U @ workbench.desktop.main.js:1285
restoreCursorState @ workbench.desktop.main.js:1285
restoreViewState @ workbench.desktop.main.js:1287
setInput @ workbench.desktop.main.js:3110
await in setInput (async)
S @ workbench.desktop.main.js:3108
L @ workbench.desktop.main.js:3108
openEditor @ workbench.desktop.main.js:3108
(anonymous) @ workbench.desktop.main.js:4239
Kb @ workbench.desktop.main.js:4239
Jb @ workbench.desktop.main.js:4239
openEditor @ workbench.desktop.main.js:4239
accept @ workbench.desktop.main.js:2156
(anonymous) @ workbench.desktop.main.js:1143
B @ workbench.desktop.main.js:438
C @ workbench.desktop.main.js:438
fire @ workbench.desktop.main.js:438
Ub @ workbench.desktop.main.js:1143
(anonymous) @ workbench.desktop.main.js:1143
4workbench.desktop.main.js:3019 Cpp: error Error: stream took too long
    at li.streamCpp (workbench.desktop.main.js:4224:15106)
    at async li.immediatelyFireCppWithSpecifiedPosition (workbench.desktop.main.js:4213:6243)
    at async li.immediatelyFireCppFromTrigger (workbench.desktop.main.js:4212:6674)
    at async li.fireCppSuggestionFromTrigger (workbench.desktop.main.js:4212:4432)

Which VPN do you use?

global protect (link)

Basically, for everything to work properly, you need access to these addresses. I think you can add them to your VPN whitelist, and everything should be fine.

Thanks for the reply. However, since this is the uni’s VPN, I may not have access to add to the whitelist. Will there be other alternatives? And also, only the auto complete is not working, does that mean that this is not the main cause of the problem?

This is one of the reasons. You can also try disabling HTTP2, but in that case, the agent composer will stop working.