Change:
Type: <bBug</bThis started happening since the latest patch. One way I was able to reproduce: There is more than one editor open. At least one editor is pinned. There is only one editor that is not pinned. For that one editor that is unpinned, the keyboard shortcut will not pin it. If another pinned editor becomes unpinned, then, with two editors unpinned, any editor can be pinned as normal. The cause seems to be the calculated state for the 'pinned' status of an editor. My keyboard shortcuts check those to determine wheter a keyboard shortcut should pin or unpin the editor. When I use the VSCode state inspection tool, I see that a pinned editor has a state of 'unpinned'. VS Code version: Code 1.85.0 (, 2023-12-06T20:48:09.019Z) OS version: WindowsNT x64 10.0. Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (29)</summaryExtensionVersion ------ Bookmarks13.4.2 path-intellisense2.8.5 vscode-markdownlint0.53.0 vscode-eslint2.4.2 githistory0.6.20 prettier-vscode10.1.0 auto-close-tag0.5.14 copilot1.140.0 copilot-chat0.11.0 remotehub0.62.0 vscode-pull-request-github0.76.1 vscode-graphql-syntax1.2.2 vscode-env0.1.0 rainbow-csv3.9.0 remote-wsl0.81.8 remote-repositories0.40.0 vsliveshare1.0.5897 language-plan0.0.1 excalidraw-editor3.7.1 quicktype12.0.46 vscode-yaml1.14.0 vscode-paste-and-indent0.0.8 partial-diff1.4.3 multi-command1.6.0 intellicode-api-usage-examples0.2.8 vscodeintellicode1.2.30 vscode-icons12.6.0 gitblame10.5.1 copy-hover-type0.0.7 </details<!-- generated by issue reporter --
I am not able to reproduce this behaviour. Have you changed the key binding ? If so, it could possibly be conflicting with a different key binding in some cases. Are you using any non-default editor tab settings?
<img width="1052" alt="image" src=""Same issue here. Have one key assigned to both pin/unpin with the logic to pick based on as shown. This "When Expression" is the default one suggested by VSCode. (these are the only shortcuts these keys are assigned to, and there are no other keys assigned to these actions anymore- I removed the System assignments) As long as I have 2+ unpinned text editors, both shortcuts work- C+S+A+P toggles the pinned state of the active editor. BUT, if only the active edito tab is currently unpinned e.g. as shown, it doesn't work at all. Note that right-click on the tab to select "Pin" DOES still work. <img width="988" alt="image" src=""
My keybindings are the same as swajj. Have one key assigned to both pin/unpin with the logic to pick based on as shown.
Here is the internal state of the editor, showing that the pinned state is incorrect, and thus causing the keyboard shortcut to not work. Note that it says the active editor is when in fact it is not. !
I'll note that today I was having the "opposite" problem- the keys refused to unpin a pinned editor, with several pinned and several unpinned editors. So I'm not sure the bug is as simple as "have exactly one unpinned editor"- but is definitely buggy right now.
I observed the same behaviour since the last update. Some tabs that are not pinned cannot be pinned and vice verca. There are not other key binding defined, I also tried different key bindings. But what always works is using the contextmenu to pin and unpin editor tabs.
If this is a confirmed regression, it would help to know which change caused it. We maintain a based CLI tool  that automatically downloads and runs previous VS Code insiders and asks for each build if the issue reproduces. It takes up to 8 steps to find exactly the build that caused the regression. Steps: install (if not yet done) follow the instructions until you found the offending build (its fine to leave the commit empty) report back the commit range in this issue Thanks!
I'm able to reproduce the bug now. Running the command from the command palette does not trigger the bug, only when I use the key binding. I ran the bisect and it seems the it is most probable that the bug was caused from the change to allow editor actions in the titlebar. Looking into it...
What I just observed that I can always reproduce this behavior when using the extension angular2-switcher . Steps to reprocude: a file tab via pins the editor to open the file tab via does not anything When using the context menu to pin the file it works again. As soon as I switch between template and component, the file that I switched to cannot be pinned via key binding.
I've found the issue and fixed it. The issue was caused by a refactoring of the editor context keys we did last month.
Hi sorry if this isn't the proper place to ask I'm still having this issue in the latest version: 1.85.1 Commit: I saw the patch was released to the insiders version, when does it get released to the public?
Because we did not have a December release last year (December 2023) this will be part of the January release which should be shipped in the first week of February. In the mean time pinning / unpinning editors should be possible from the command palette
Alright thanks for the quick reply
! 85.2 still has this issue, keep waiting the next release.
Verification Steps For Insiders: 2 editors/files keyboard shortcut to pin first file (default: ctrl + k, shift + enter) keyboard shortcut to pin second file (default: ctrl + k, shift + enter) editors should be pinned now
Thanks for the verification steps!

Discussion:
case GroupModelChangeKind.GROUP_LOCKED: groupLockedContext.set(this.isLocked); break; <ins> case GroupModelChangeKind.EDITOR_ACTIVE: groupActiveEditorFirstContext.set(this.model.isFirst(this.model.activeEditor)); groupActiveEditorLastContext.set(this.model.isLast(this.model.activeEditor)); groupActiveEditorPinnedContext.set(this.model.activeEditor ? this.model.isPinned(this.model.activeEditor) : false); groupActiveEditorStickyContext.set(this.model.activeEditor ? this.model.isSticky(this.model.activeEditor) : false); break; </ins> case GroupModelChangeKind.EDITOR_CLOSE: case GroupModelChangeKind.EDITOR_OPEN: <del> case GroupModelChangeKind.EDITOR_ACTIVE: </del> case GroupModelChangeKind.EDITOR_MOVE: groupActiveEditorFirstContext.set(this.model.isFirst(this.model.activeEditor)); groupActiveEditorLastContext.set(this.model.isLast(this.model.activeEditor));