SharePoint / SharePoint/sp-dev-docs

TaxCatchAll column restricted to 2 values

Open
#10,342 9 comments 0 reactions 1 assignee View on GitHub

@Ashlesha-MSFT is already working on this.

Since Dec 11, 2025.

area:spfx Needs: Author Feedback type:bug-confirmed
Dominant language
PowerShell
Stars
1.4k
Forks
1.1k
Avg merge
4d 12h
Merged PRs (30d)
12

Description

Target SharePoint environment

SharePoint Online

What SharePoint development model, framework, SDK or API is this about?

💥 SharePoint Framework

Developer environment

None

What browser(s) / client(s) have you tested
  • 💥 Internet Explorer
  • 💥 Microsoft Edge
  • 💥 Google Chrome
  • 💥 FireFox
  • 💥 Safari
  • mobile (iOS/iPadOS)
  • mobile (Android)
  • not applicable
  • other (enter in the "Additional environment details" area below)
Additional environment details
Describe the bug / error

It seems, that the return value for the TaxCatchAll column in a SharePoint list is now limited two a maximum of 2 values.
I have a list that contains 4 taxonomy columns. All these 4 columns are filled with data.
When I read listitems using PnPJS with a query that contains $select=TaxCatchAll/IdForTerm and $expand=TaxCatchAll the resulting TaxCatchAll property is always an array consisting of 2 values (always the same 2). The other 2 values are missing, which is a problem because I need to filter on them. But the $filter doesn't work either, because the relevant column's value is not in TaxCatchAll.
Example result record:

{
            "odata.type": "SP.Data.SnsAbsencesListItem",
            "odata.id": "b0e79b9c-5650-4ef1-9c89-80061d26d5d5",
            "odata.etag": "\"22\"",
            "odata.editLink": "Web/Lists(guid'610a758c-466c-4544-8d55-93ed643dc2ba')/Items(6255)",
            "snsRequestEmployee@odata.navigationLinkUrl": "Web/Lists(guid'610a758c-466c-4544-8d55-93ed643dc2ba')/Items(6255)/snsRequestEmployee",
            "snsRequestEmployee": {
                "odata.type": "SP.Data.UserInfoItem",
                "odata.id": "414b16b3-d530-4478-a975-cda1d84187fd",
                "Title": "User One",
                "Id": 8
            },
            "TaxCatchAll@odata.navigationLinkUrl": "Web/Lists(guid'610a758c-466c-4544-8d55-93ed643dc2ba')/Items(6255)/TaxCatchAll",
            "TaxCatchAll": [
                {
                    "odata.type": "SP.Data.TaxonomyHiddenListListItem",
                    "odata.id": "bcaaf4aa-461a-4db1-aab2-0f96dafe8f46",
                    "IdForTerm": "a7807ac6-a2d1-4675-8302-3e9869cfbcdb"
                },
                {
                    "odata.type": "SP.Data.TaxonomyHiddenListListItem",
                    "odata.id": "c0c73e0a-350a-48bb-96e5-afda95dbd42c",
                    "IdForTerm": "01e02242-9aab-4d3e-acfc-040e05554478"
                }
            ],
            "snsAbsenceRepresentative@odata.navigationLinkUrl": "Web/Lists(guid'610a758c-466c-4544-8d55-93ed643dc2ba')/Items(6255)/snsAbsenceRepresentative",
            "snsAbsenceRepresentative": [
                {
                    "odata.type": "SP.Data.UserInfoItem",
                    "odata.id": "945b1741-0035-4de3-96a7-6921626c13d5",
                    "Title": "User One",
                    "Id": 8
                }
            ],
            "snsRequestApprover1@odata.navigationLinkUrl": "Web/Lists(guid'610a758c-466c-4544-8d55-93ed643dc2ba')/Items(6255)/snsRequestApprover1",
            "snsRequestApprover1": {
                "odata.type": "SP.Data.UserInfoItem",
                "odata.id": "3ac3a765-8d9f-487b-8e44-5752b085c5ec",
                "Title": "User One",
                "Id": 8
            },
            "snsRequestApprover2@odata.navigationLinkUrl": "Web/Lists(guid'610a758c-466c-4544-8d55-93ed643dc2ba')/Items(6255)/snsRequestApprover2",
            "snsAbsenceDepartment1": "IT",
            "snsAbsenceStartDate": "2025-07-29T10:00:00Z",
            "snsAbsenceEndDate": "2025-07-29T10:00:00Z",
            "snsAbsenceAbsenceType": {
                "Label": "13",
                "TermGuid": "a7807ac6-a2d1-4675-8302-3e9869cfbcdb",
                "WssId": 13
            },
            "snsRequestStatus": {
                "Label": "8",
                "TermGuid": "1aa7abe1-bad7-46f8-8440-7b1f09e99c1d",
                "WssId": 8
            },
            "snsAbsenceWorkingDays": 1.0
}

As you can see, there's a column named "snsRequestStatus" with a TermGuid of "1aa7abe1-bad7-46f8-8440-7b1f09e99c1d" which is nowhere to be found in TaxCatchAll. The first value in TaxCatchAll corresponds to the "snsAbsenceAbsenceType" column. The second one is from a column which is not in $select. "snsRequestStatus" ist completely missing and also the fourth taxonomy column of the listitem which is also not in $select.
Is this an official limitation of TaxCatchAll or is it a bug?

Steps to reproduce
  1. Create a list with more than 2 taxonomy columns.
  2. Add a list item with values for all taxonomy columns.
  3. Request the list item through PnPJS (REST API?) including the hidden TaxCatchAll column
    => TaxCatchAll shows only 2 entries.
Expected behavior

I would expect that TaxCatchAll contains the values for all taxonomy columns, not only 2.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.