Failed to evaluate filter: Type error in "contains", parameter "value". Expected String given ThisFile

Steps to reproduce

Create some files with property type list and fill it with file links.
Some files create with out properties from previous step
Create database that filters by link to this

Did you follow the troubleshooting guide? [Y/N]Y

Please, follow the Troubleshooting Guide before answering Yes.

Expected result

No notification and errors

Actual result

Notification with message: “Failed to evaluate filter: Type error in “contains”, parameter “value”. Expected String given ThisFile” every time anythings changes in a file

Environment

SYSTEM INFO:
Obsidian version: 1.12.4
Installer version: 1.11.4
Operating system: #14-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 9 17:01:16 UTC 2026 6.17.0-14-generic
Login status: not logged in
Language: en
Insider build toggle: off
Live preview: on
Base theme: dark
Community theme: none
Snippets enabled: 1
Restricted mode: off
Plugins installed: 10
Plugins enabled: 10
1: Remotely Save v0.5.25
2: CSV Table v1.2.0
3: Numerals v1.5.5
4: Pandoc Plugin v0.4.1
5: Dataview v0.5.68
6: Line Arrange v1.5.0
7: PlantUML v1.8.0
8: Custom File Extensions Plugin v1.2.1
9: Tasks v7.23.1
10: Multi Properties v1.4.0
RECOMMENDATIONS:
Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.


Additional information

Using next dataviewjs I got this output in my vault
All 1750
Has part_of 1585
Has BlockedBy 70
I have problem only with filter that uses BlockedBy property, but use same for part_of and it works good.

const projects = dv.pages('"Projects"')
const withPartOf = projects.filter(p => p.part_of).length
const blockers = projects.filter(p => p.BlockedBy).length
dv.header(4, "All " + projects.length)
dv.header(4, "Has part_of " + withPartOf)
dv.header(4, "Has BlockedBy " + blockers)

Here is my views that works good

  - type: table
    name: Subprojects
    filters:
      and:
        - part_of.contains(this)
    groupBy:
      property: formula.statusOrder
      direction: ASC
    order:
      - order
      - file.name
      - verify_at
      - deadline
      - Status
      - CPL
      - priority
      - Type
      - BlockedBy

Here is view with error

  - type: table
    name: Blocks
    filters:
      and:
        - BlockedBy.contains(this)
    order:
      - file.name
      - BlockedBy
      - part_of
    sort:
      - property: BlockedBy
        direction: ASC
    columnSize:
      file.name: 512
      note.BlockedBy: 295

The error suggests one or more of your BlockedBy values do not have the syntax of a list.

Make a new base with this filter:

BlockedBy && !BlockedBy.isType("list")

For any note that returns, open the note, switch to Source mode, and make sure that BlockedBy has the proper list syntax. This is a list:

---
BlockedBy:
  - "[[example]]"
---

This is not a list:

---
BlockedBy: "[[example]]"
---

But if you don’t want to clean up the property values, you could try working around the issue by using this filter instead: list(BlockedBy).contains(this)