#2797·yq

Multi-line strings erroneously written as single line in the presence of some UTF8 chars

Author: spockzCreated Aug 5, 2026Updated Aug 16, 2026
Labelsbugv4

Describe the bug When updating a yaml to add/update a field with a multi-line string the field is emitted as a single line string with encoded newlines instead of a multiline in the presence of some UTF8 characters.

I first thought my issue was due to trailing spaces like in #2030.

Version of yq: 4.53.3 (yq (https://github.com/mikefarah/yq/) version v4.53.3 Operating system: linux (Linux cachyos-x8664 7.1.5-1) Installed via: pacman

See repository spockz/yq-multiline-reproducer.

Input Yaml Concise yaml document(s) (as simple as possible to show the bug, please keep it to 10 lines or less) some.yml:

yaml
foo: bar

broken.md

markdown
Multiline file containing



A "weird" utf8 char?

works.md

markdown
Multiline file containing

✅

A "less weird" utf8 char?

Command The command you ran:

yq eval '.longDescription |= (load_str("broken.md"))' some.yaml

Actual behaviour

yaml
foo: bar
longDescription: "Multiline file containing\n\n\\n\nA \"weird\" utf8 char?\n"

Expected behaviour

yaml
foo: bar
longDescription: |
  Multiline file containing

  

  A "weird" utf8 char?

Interestingly, this does work for some characters:

yq eval '.longDescription |= (load_str("works.md"))' some.yaml
yaml
foo: bar
longDescription: |
  Multiline file containing

  

  A "less weird" utf8 char?