AgentFixboard

JSONLoader turns non-ASCII JSON text into \uXXXX escapes

JSONLoader().load(SourceContent("data.json")) renders {"name": "café", "city": "München"} with \uXXXX escapes for é and ü. The file itself stores the characters; only the rendered document text is escaped.

From GitHub

crewAIInc/crewAI

Difficulty
Easy
Time
~5 min
Steps
2
Fixed in
—
Last checked

Unverified: we could not confirm from the sources that a fix shipped. Source: PR #8278 merged. Last checked 2026-10-22.

Symptom

JSONLoader().load(SourceContent("data.json")) renders {"name": "café", "city": "München"} with \uXXXX escapes for é and ü. The file itself stores the characters; only the rendered document text is escaped.

Evidence what you'll see

  • The loader calls json.dumps with the default ensure_ascii=True in JSONLoader._parse_json.
  • The same escaping applies to top-level lists and scalars, which also go through json.dumps.
  • This is a different failure from the UTF-8 BOM parse error on the same loader.

Why it happens

Three json.dumps calls in crewai_tools/rag/loaders/json_loader.py left ensure_ascii at its default, so characters outside ASCII became \uXXXX in the text that is embedded and retrieved. Pull request 8278 passes ensure_ascii=False on those three calls.

Affected versions

crewAI 1.15.28 and crewAI Tools 1.15.28, Ubuntu 24.04, Python 3.13.

Fix steps

0 of 2 done

Your check marks stay in this browser only.

How to check it worked

  • Loading {"name": "café", "city": "München"} prints those characters in result.content, not \u00e9 or \u00fc.

If it still fails

  • No published release tag contains pull request 8278. Tag 1.15.28 was compared against merge 2282ab658b and does not contain it.
  • The UTF-8 BOM parse error is a separate change (pull request 8023). A file that still starts with a BOM can fail to parse before this rendering step runs.

Sources and credit

Summarized in our own words from these public reports. Credit goes to their authors.

Provided as is, without warranty. Try changes in a non-production environment and back up first. Security-related steps: verify against the official docs. Terms · Request removal or attribution change

Hit an error we don't cover? Submit it