<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/pnpm-10-31-t5lujovjp" -->

---
title: pnpm 10.31 | daily.dev
description: pnpm 10.31 now preserves comments, string formatting, and whitespace when it updates pnpm-workspace.yaml. The release also ships a large batch of patch fixes,...
canonical: https://daily.dev/posts/pnpm-10-31-t5lujovjp
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: pnpm 10.31 | daily.dev
og:description: pnpm 10.31 now preserves comments, string formatting, and whitespace when it updates pnpm-workspace.yaml. The release also ships a large batch of patch fixes,...
og:url: https://daily.dev/posts/pnpm-10-31-t5lujovjp
og:image: https://api.daily.dev/og/posts/T5LujoVjP.png
og:image:alt: pnpm 10.31
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# pnpm 10.31

**[Fast, disk space efficient package manager \| pnpm](https://daily.dev/sources/pnpm-blog)** · 2 min read · 0 upvotes · 0 comments

## Summary

pnpm 10.31 now preserves comments, string formatting, and whitespace when it updates pnpm-workspace.yaml. The release also ships a large batch of patch fixes, including a short -F alias for --filter, a fix for a race condition when concurrent worker threads import the same package into the global virtual store, corrected handling of lockfile-include-tarball-url, a fix for optimisticRepeatInstall skipping installs after certain config changes, a resolved permission error in pnpm patch-commit under Docker/CI environments, fixes for pnpm why -r output, and corrected workspace package linking behavior.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://pnpm.io/blog/releases/10.31>

## Questions this post answers

### Does pnpm 10.31 preserve comments when it updates pnpm-workspace.yaml?

Yes, pnpm 10.31 preserves comments, string formatting, and whitespace when it automatically updates pnpm-workspace.yaml. Previously these updates could strip or reformat the file, which was disruptive for teams that annotate their workspace config with comments.

_Developers tracking pnpm changelog details like this can follow release notes on daily.dev._

### Why is my pnpm patch-commit command failing with a permission denied error on /.config/git/attributes?

This happens in environments where HOME is unset or non-standard, such as Docker containers or CI systems, causing pnpm patch-commit to fail with 'unable to access /.config/git/attributes: Permission denied'. This bug was fixed in pnpm 10.31, referenced as GitHub issue #6537.

_Teams debugging CI-specific pnpm errors can track fixes like this one on daily.dev._

### Why does pnpm link-workspace-packages=true link the wrong version of a workspace package?

In pnpm versions before 10.31, setting link-workspace-packages=true could incorrectly link a workspace package even when the requested version didn't match the workspace package's actual version. This was fixed as part of the pnpm 10.31 patch release, tracked as GitHub issue #10173.

_Developers debugging workspace dependency resolution issues can check fixes like this on daily.dev._

## Similar posts on daily.dev

- [pnpm 12.2-12.3](https://daily.dev/posts/pnpm-12-2-12-3-gtkuwlrn9) · Fast, disk space efficient package manager \| pnpm · 4 upvotes · 0 comments
- [pnpm 11.21-11.22](https://daily.dev/posts/pnpm-11-21-11-22-samutlmgg) · Fast, disk space efficient package manager \| pnpm · 27 upvotes · 2 comments
- [pnpm 12.7](https://daily.dev/posts/pnpm-12-7-ot65yjyad) · Fast, disk space efficient package manager \| pnpm · 11 upvotes · 0 comments
- [pnpm 11 cuts the npm umbilical cord](https://daily.dev/posts/pnpm-11-cuts-the-npm-umbilical-cord-vhucinbuf) · Bytes by ui.dev · 50 upvotes · 5 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#javascript](https://daily.dev/tags/javascript), [#pnpm](https://daily.dev/tags/pnpm)

[View this post on daily.dev](https://daily.dev/posts/pnpm-10-31-t5lujovjp)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"pnpm 10.31","url":"https://daily.dev/posts/pnpm-10-31-t5lujovjp","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/pnpm-10-31-t5lujovjp"},"datePublished":"2026-08-23T12:17:33.470Z","dateModified":"2026-08-23T12:24:43.387Z","description":"pnpm 10.31 now preserves comments, string formatting, and whitespace when it updates pnpm-workspace.yaml. The release also ships a large batch of patch fixes,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/63763758f3e74381d631e88f7667e808?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/63763758f3e74381d631e88f7667e808?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Fast, disk space efficient package manager | pnpm","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Fast, disk space efficient package manager | pnpm","logo":"https://media.daily.dev/image/upload/s--JKuzGOiX--/f_auto,q_auto/v1787487440/logos/pnpm-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/pnpm-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/pnpm-10-31-t5lujovjp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,javascript,pnpm","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Fast, disk space efficient package manager | pnpm","item":"https://daily.dev/sources/pnpm-blog"},{"@type":"ListItem","position":3,"name":"pnpm 10.31"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/pnpm-10-31-t5lujovjp#faq","mainEntity":[{"@type":"Question","name":"Does pnpm 10.31 preserve comments when it updates pnpm-workspace.yaml?","acceptedAnswer":{"@type":"Answer","text":"Yes, pnpm 10.31 preserves comments, string formatting, and whitespace when it automatically updates pnpm-workspace.yaml. Previously these updates could strip or reformat the file, which was disruptive for teams that annotate their workspace config with comments. Developers tracking pnpm changelog details like this can follow release notes on daily.dev."}},{"@type":"Question","name":"Why is my pnpm patch-commit command failing with a permission denied error on /.config/git/attributes?","acceptedAnswer":{"@type":"Answer","text":"This happens in environments where HOME is unset or non-standard, such as Docker containers or CI systems, causing pnpm patch-commit to fail with 'unable to access /.config/git/attributes: Permission denied'. This bug was fixed in pnpm 10.31, referenced as GitHub issue #6537. Teams debugging CI-specific pnpm errors can track fixes like this one on daily.dev."}},{"@type":"Question","name":"Why does pnpm link-workspace-packages=true link the wrong version of a workspace package?","acceptedAnswer":{"@type":"Answer","text":"In pnpm versions before 10.31, setting link-workspace-packages=true could incorrectly link a workspace package even when the requested version didn't match the workspace package's actual version. This was fixed as part of the pnpm 10.31 patch release, tracked as GitHub issue #10173. Developers debugging workspace dependency resolution issues can check fixes like this on daily.dev."}}]}
```

