Windows; Accepting suggestion via Tab doesn't work half the time

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

At random times I will be using Cursor and I will see a code complete suggestion, I will hit the tab key to accept it but instead of it being accepted an actual tab will be inserted.

It will randomly happen, I have no idea what causes it, sometimes I have to restart cursor to get it to start working again, sometimes closing the file/reopening it works.

I’ve completely uninstalled Cursor (deleted profiles and everything from AppData) and reinstalled it, disabled essentially all plugins, and it still happens randomly. I also made sure not to import settings from VSCode.

Steps to Reproduce

Unknown, but it keeps happening randomly.

Expected Behavior

When i hit tab it should accept the suggestion, not insert a tab.

Operating System

Windows 10/11

Version Information

Version: 2.4.21 (user setup)
VSCode Version: 1.105.1
Commit: dc8361355d709f306d5159635a677a571b277bc0
Date: 2026-01-22T16:57:59.675Z
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Windows_NT x64 10.0.22631

Additional Information

The only extensions i have installed are

.Net Install Tool
C#
EditorConfig for VSCode
GitLens
Slang

This happens with both C# and TypeScript projects.

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, thanks for the report. This is a known issue.

Try these workarounds:

  1. Disable HTTP/2 (most common fix):
  • Go to Settings > search for “HTTP/2” > enable “Disable HTTP/2”
  • Restart Cursor
  • This user had the same problem, and it helped.
  1. Extensions toggle:
  • Go to Help > Extensions > three dots > Disable All Installed Extensions
  • Restart Cursor
  • Turn the extensions back on and restart again
  • This method worked for someone.
  1. Network check:
  • Go to Cursor Settings > Network > Run Diagnostics
  • If there are any errors, please share a screenshot here.

Let me know what worked (or didn’t) - it’ll help us understand what triggers the bug.

1 Like

Hey,
I just had the same issue, I tried option 1 which resolved it for me, however suspecting it didn’t actually have to do anything with that I set it back to HTTP/2 and it still worked, even after reloading Cursor it still worked.
So I suspect that most “fixes” that involve Reloading the Window may just resolve the consequences of resulted to the TAB Functionality to hang and not actually preventing them in the first place (but I may be wrong obviously)

So my “easiest” fix was Pressing Ctrl + Shift + P for Command pallet and then choosing Developer: Reload Window - but its probably just a bandaid instant helper rather than preventing the cause

3 Likes

I don’t understand how disabling HTTP/2 or doing a network check would help this issue. The issue isn’t with tab complete not showing up, it’s about it not being accepted. I see the suggestion just fine and I can see in the output window it’s communicating with the server and with the model. When i click tab to accept the suggestion that just a tab is inserted? Am i misunderstanding and there is some sort of network call involved in accepting the suggestion?

Both of the posts you linked me to are of a different problem. Not the problem I am having.

I tried method 2 and it doesn’t consistently solve the issue.

Thanks for the clarification. You’re right, my earlier suggestions weren’t aimed at your case. HTTP/2 and network issues matter when suggestions don’t show up at all, but you can see them, Tab just doesn’t work.

This looks like a keybinding conflict. Some extension is likely catching Tab before Cursor can handle it. I’ve seen similar issues with Vim and Emacs extensions.

Can you check what actually triggers when you press Tab:

  • Ctrl + Shift + PDeveloper: Toggle Keyboard Shortcuts Troubleshooting
  • When the suggestion shows up, press Tab
  • Check the Output panel (View → Output) to see what got logged

Paste the lines like [KeybindingService]: From X keybinding entries, matched... here. That will show which command runs instead of editor.action.acceptCursorTabSuggestion.

If you want a workaround right now, add this to keybindings.json (Ctrl + Shift + PPreferences: Open Keyboard Shortcuts (JSON)):

{
  "key": "tab",
  "command": "editor.action.acceptCursorTabSuggestion",
  "when": "cpp.shouldAcceptTab"
}

This is a known bug, but the log will help identify what’s conflicting on your setup.

2026-01-30 15:30:00.731 [info] [Window] [KeybindingService]: | Resolving Tab
2026-01-30 15:30:00.731 [info] [Window] [KeybindingService]: \ From 12 keybinding entries, matched tab, when: editorTextFocus && !editorReadonly && !editorTabMovesFocus, source: built-in.
2026-01-30 15:30:00.731 [info] [Window] [KeybindingService]: / Received keydown event - modifiers: , code: Tab, keyCode: 9, key: Tab
2026-01-30 15:30:00.731 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: , code: Tab, keyCode: 2 (‘Tab’)
2026-01-30 15:30:00.731 [info] [Window] [KeybindingService]: | Resolving Tab
2026-01-30 15:30:00.731 [info] [Window] [KeybindingService]: \ From 12 keybinding entries, matched tab, when: editorTextFocus && !editorReadonly && !editorTabMovesFocus, source: built-in.
2026-01-30 15:30:00.732 [info] [Window] [KeybindingService]: + Invoking command tab.

I’ve been there, too. Here’s the log

Thanks for the log, I can see the issue. Tab is matching the default tab command instead of editor.action.acceptCursorTabSuggestion. This is a known keybinding issue.

Try this workaround, add this to keybindings.json:

{
  "key": "tab",
  "command": "editor.action.acceptCursorTabSuggestion",
  "when": "cpp.shouldAcceptTab"
}

This fixed it for a few users with a similar setup: Tab broken in version 0.46.3 (MacOS) - #2 by jhirn

If it doesn’t help, or it starts acting weird in other cases like when pressing Tab without suggestions, try a more specific when:

{
  "key": "tab",
  "command": "editor.action.acceptCursorTabSuggestion",
  "when": "editorTextFocus && cpp.shouldAcceptTab && !editorReadonly"
}

Let me know if it worked or not, it’ll help figure out what’s causing the conflict in your setup.

I tried the solutions you suggested but they didn’t work. I see this in the debug:

2026-01-30 22:44:07.469 [info] [Window] [KeybindingService]: \ From 13 keybinding entries, matched tab, when: editorTextFocus && !editorReadonly && !editorTabMovesFocus, source: built-in.

2026-01-30 22:44:07.469 [info] [Window] [KeybindingService]: / Received  keydown event - modifiers: [], code: Tab, keyCode: 9, key: Tab

2026-01-30 22:44:07.469 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: Tab, keyCode: 2 (‘Tab’)

2026-01-30 22:44:07.469 [info] [Window] [KeybindingService]: | Resolving Tab

2026-01-30 22:44:07.469 [info] [Window] [KeybindingService]: \ From 13 keybinding entries, matched tab, when: editorTextFocus && !editorReadonly && !editorTabMovesFocus, source: built-in.

2026-01-30 22:44:07.469 [info] [Window] [KeybindingService]: + Invoking command tab.

Hey, thanks for the detailed logs, this really helps.

I can see the issue: cpp.shouldAcceptTab isn’t triggering, so Tab falls back to the default tab command instead of editor.action.acceptCursorTabSuggestion. This is a known bug.

The only workaround right now is to press Ctrl + Shift + PDeveloper: Reload Window when Tab stops working. It’s annoying, but better than nothing until they fix it.

I’ll update the thread when there’s a fix.

1 Like

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

After latest update, tab key has stop working. IDE will give the tip, but when I press tab to applay this tip, it didn’t work. Just two space, like vscode.

Steps to Reproduce

press tab key

Screenshots / Screen Recordings

Operating System

Windows 10/11

Version Information

Version: 2.4.27 (user setup)
VSCode Version: 1.105.1
Commit: 4f2b772756b8f609e1354b3063de282ccbe7a690
Date: 2026-01-31T21:24:58.143Z
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Windows_NT x64 10.0.26200

For AI issues: which model did you use?

Model name: Sonnet 4.5

Does this stop you from using Cursor

No - Cursor works, but with this issue

I have found that when I have an Agent chat open and there are changes it thinks I haven’t accepted yet (and asks me to “Keep” them) this issue is more likely to happen.

I’m having this issue too since the latest update (2.4.28).

Reloading window or restarting Cursor does not help.

The keybindings workaround does not help either:

2026-02-06 12:00:52.554 [info] [Window] [KeybindingService]: | Resolving Tab
2026-02-06 12:00:52.554 [info] [Window] [KeybindingService]: \ From 13 keybinding entries, matched tab, when: editorTextFocus && !editorReadonly && !editorTabMovesFocus, source: user.
2026-02-06 12:00:52.554 [info] [Window] [KeybindingService]: / Received  keydown event - modifiers: [], code: Tab, keyCode: 9, key: Tab
2026-02-06 12:00:52.554 [info] [Window] [KeybindingService]: | Converted keydown event - modifiers: [], code: Tab, keyCode: 2 ('Tab')
2026-02-06 12:00:52.554 [info] [Window] [KeybindingService]: | Resolving Tab
2026-02-06 12:00:52.554 [info] [Window] [KeybindingService]: \ From 13 keybinding entries, matched tab, when: editorTextFocus && !editorReadonly && !editorTabMovesFocus, source: user.
2026-02-06 12:00:52.554 [info] [Window] [KeybindingService]: + Invoking command tab.