[Bug] UTF-8 Character Corruption in Project Knowledge File Workflow

Resolved 💬 3 comments Opened Dec 11, 2025 by gnp Closed Feb 11, 2026

Bug Description
[Resubmitting shorter version] When copying a chat artifact to project knowledge, then opening and copying that file from project knowledge, UTF-8 characters (smart quotes, accented characters) become corrupted with mojibake. The artifact → project knowledge → display/copy workflow appears to incorrectly decode/re-encode UTF-8 at some step. Workaround: downloading the artifact directly from the original chat works correctly—the corruption only occurs when accessing files through project knowledge. This could impact Claude's ability to correctly use corrupted project knowledge content, making it more than just a display issue for users.

Environment Info

  • Platform: darwin
  • Terminal: Apple_Terminal
  • Version: 2.0.65
  • Feedback ID: 85c34772-1d84-4a47-b85e-af71701c8fc5

Errors

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/gregor/.local/share/claude/versions/2.0.61 (expected in multi-process scenarios)\n    at fjB (/$bunfs/root/claude:2597:1618)\n    at XAA (/$bunfs/root/claude:2595:35624)\n    at async LAA (/$bunfs/root/claude:2597:3428)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-11T12:19:22.762Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/gregor/.local/share/claude/versions/2.0.58 (expected in multi-process scenarios)\n    at fjB (/$bunfs/root/claude:2597:1618)\n    at XAA (/$bunfs/root/claude:2595:35624)\n    at async LAA (/$bunfs/root/claude:2597:3428)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-11T12:19:22.762Z"},{"error":"Error\n    at ow (/$bunfs/root/claude:190:1143)\n    at <anonymous> (/$bunfs/root/claude:191:10080)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:193:2147)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-11T12:19:22.806Z"},{"error":"Error\n    at ow (/$bunfs/root/claude:190:1143)\n    at <anonymous> (/$bunfs/root/claude:191:10080)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:193:2147)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-11T12:19:22.818Z"},{"error":"Error\n    at ow (/$bunfs/root/claude:190:1143)\n    at <anonymous> (/$bunfs/root/claude:191:10080)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:193:2147)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-11T12:19:22.972Z"},{"error":"Error\n    at ow (/$bunfs/root/claude:190:1143)\n    at <anonymous> (/$bunfs/root/claude:191:10080)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:193:2147)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-11T12:19:23.113Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/gregor/.local/share/claude/versions/2.0.65 (expected in multi-process scenarios)\n    at fjB (/$bunfs/root/claude:2597:1618)\n    at XAA (/$bunfs/root/claude:2595:35624)\n    at async DdD (/$bunfs/root/claude:2595:37725)\n    at async cj (/$bunfs/root/claude:2597:236)\n    at async <anonymous> (/$bunfs/root/claude:2597:13006)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-11T12:19:30.224Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/gregor/.local/share/claude/versions/2.0.65 (expected in multi-process scenarios)\n    at fjB (/$bunfs/root/claude:2597:1618)\n    at XAA (/$bunfs/root/claude:2595:35624)\n    at async DdD (/$bunfs/root/claude:2595:37725)\n    at async cj (/$bunfs/root/claude:2597:236)\n    at async <anonymous> (/$bunfs/root/claude:2597:13006)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-11T12:31:30.969Z"},{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/gregor/.local/share/claude/versions/2.0.65 (expected in multi-process scenarios)\n    at fjB (/$bunfs/root/claude:2597:1618)\n    at XAA (/$bunfs/root/claude:2595:35624)\n    at async DdD (/$bunfs/root/claude:2595:37725)\n    at async cj (/$bunfs/root/claude:2597:236)\n    at async <anonymous> (/$bunfs/root/claude:2597:13006)\n    at processTicksAndRejections (native:7:39)","timestamp":"2025-12-11T12:33:39.590Z"}]

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗