Can't specify "Prettier.prettier-vscode" as the default formatter
Preflight Checklist
- [x] I have read the troubleshooting guide
- [x] I have searched existing issues and this is not a duplicate
- [x] This is a bug with the VS Code extension, not with how Prettier formats code
Issue Summary
I have the following in a "repo.code-workspace" file:
"[css][html][markdown][postcss][yaml]": {
"editor.defaultFormatter": "Prettier.prettier-vscode",
"editor.formatOnSave": true,
},
However, I get a yellow squiggly under "Prettier.prettier-vscode" which says:
Value is not accepted. Valid values: null, "ms-python.black-formatter", "vscode.css-language-features", "jkillian.custom-local-formatters", "hashicorp.hcl", "vscode.html-language-features", "vscode.json-language-features", "vscode.markdown-language-features", "vscode.markdown-math", "vscode.php-language-features", "ms-vscode.powershell", "prettier.prettier-vscode", "ms-python.python", "timonwong.shellcheck", "hashicorp.terraform", "vscode.typescript-language-features", "dbaeumer.vscode-eslint", "ms-python.vscode-pylance", "streetsidesoftware.code-spell-checker", "vscode.configuration-editing", "vscode.debug-auto-launch", "vscode.debug-server-ready", "ms-python.debugpy", "vscode.emmet", "vscode.extension-editing", "vscode.git", "vscode.git-base", "vscode.github", "vscode.github-authentication", "vscode.grunt", "vscode.gulp", "vscode.ipynb", "vscode.jake", "ms-vscode.js-debug", "ms-vscode.js-debug-companion", "vscode.media-preview", "vscode.merge-conflict", "vscode.mermaid-chat-features", "vscode.microsoft-authentication", "vscode.npm", "vscode.references-view", "emeraldwalk.RunOnSave", "vscode.search-result", "vscode.simple-browser", "vscode.terminal-suggest", "vscode.tunnel-forwarding", "vikyd.vscode-fold-level", "ms-vscode.vscode-js-profile-table", "ms-python.vscode-python-envs".(1)
I also tested on the the legacy extension - it does not have this problem.
Steps to Reproduce
Should be easily reproducible, if not I can make involved instructions.
Operating System
Windows
VS Code Version
Version: 1.106.3 (user setup) Commit: bf9252a2fb45be6893dd8870c0bf37e2e1766d61 Date: 2025-11-25T22:28:18.024Z Electron: 37.7.0 ElectronBuildId: 12781156 Chromium: 138.0.7204.251 Node.js: 22.20.0 V8: 13.8.258.32-electron.0 OS: Windows_NT x64 10.0.26100
Prettier Extension Version
12.0.6
Prettier Version
3.6.2
Prettier Extension Logs
["INFO" - 9:22:59 PM] Extension Name: prettier.prettier-vscode.
["INFO" - 9:22:59 PM] Extension Version: 12.0.6.
Reproduction Repository Required
Thanks for opening this issue! To help us investigate, we need a reproduction repository.
Why we need this
Most issues are configuration-specific. Without a repo we can clone and test, we usually cannot diagnose the problem.
How to create a reproduction
- Create a new public GitHub repository
- Add the minimum files needed to reproduce the issue
- Include a
.prettierrcor other config files you're using - Edit this issue and add the repository link
Tip: The simpler the reproduction, the faster we can help!
What happens next
- With a repo: We'll investigate and respond
- Without a repo: This issue will be automatically closed in 7 days
Resources
@Zamiell You passed "Prettier.prettier-vscode" but the first "P" should be lower case. ("prettier.prettier-vscode" should be correct) Please do not scare us with it.
but the first "P" should be lower case.
That is a bug then because it is listed as having an uppercase letter on the marketplace:
https://marketplace.visualstudio.com/items?itemName=Prettier.prettier-vscode
Thus, the extension should be republished with the "prettier" organization in lowercase, or alternatively the extension should be fixed to work with the uppercase letter (depending on which one is actually intended).
Lower case in VS Code. It should be canonical once installed.
I maintain that it is a bug though because other extensions do not have capital letters.
For example, the legacy Prettier extension:
For example, the ESLlint extension:
This is important because users will be copy-pasting from this field when adding it to their "extensions.json" file, and then subsequently using the same identifier everywhere else (like in "defaultFormatter" assignments). It is very confusing to for users to use different values in "extensions.json" and "settings.json" for the same extension.
I have reached out to my contacts at Microsoft about this. This isn't something I can change.
I met with @seaniyer and @mariaghiondea from the Microsoft VS Code Marketplace team today and unfortunately it looks like moving this extension to the prettier publisher is not realistic. I had hoped for a smooth migration path, but after we talked through all the scenarios it seems like moving namespaces is not worth the effort and will cause a ton of pain.
Open to suggestions or if somebody wants to volunteer to spend some time thinking about this more, but I don't really have the time to commit to doing this in a way that will be smooth for users.
Instead, I think I'll mark the prettier namespace extension as deprecated and point people to the current one. I'll then publish v12 as a prerelease on the main namespace until it is stable.
For future reference the issues we discussed are:
- The namespace cannot be renamed. Somehow when the prettier publisher namespace was created it was created as
Prettierinstead ofprettier. It is not possible to fix this without deleting the publisher and creating a new one. - The old extension has tens of millions of downloads which means it ranks high in searches. @seaniyer did say they probably could migrate the downloads, but given the other issues this one doesn't seem worth doing alone.
- The biggest issue by far is that people will have
esbenp.prettier-vscodeset in.vscode/settings.json,.vscode/extensions.json, etc and there isn't any way to transition these settings to the new name. This is going to impact hundreds of thousands of projects who have those files checked into source control, etc.