claude-code - 💡(How to fix) Fix CFPropertyList warning at interactive startup on macOS

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Claude Code v2.1.133 emits two CFPropertyListCreateFromXMLData() warnings to stderr at interactive TUI startup on macOS. The warnings are benign (CF abandons the parse and the binary continues), but they leak into the terminal and confuse users.

2026-05-08 13:59:18.112 claude[50833:2422996] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 3. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
2026-05-08 13:59:18.113 claude[50833:2422996] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 3. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.

Both warnings come from the main claude PID (not a child process), within ~1 ms of each other.

Root Cause

I confirmed the warning is not caused by a corrupt plist on disk:

Code Example

2026-05-08 13:59:18.112 claude[50833:2422996] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 3. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
2026-05-08 13:59:18.113 claude[50833:2422996] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 3. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
RAW_BUFFERClick to expand / collapse

Bug Report: CFPropertyList warning at interactive startup on macOS

Summary

Claude Code v2.1.133 emits two CFPropertyListCreateFromXMLData() warnings to stderr at interactive TUI startup on macOS. The warnings are benign (CF abandons the parse and the binary continues), but they leak into the terminal and confuse users.

2026-05-08 13:59:18.112 claude[50833:2422996] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 3. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
2026-05-08 13:59:18.113 claude[50833:2422996] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 3. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.

Both warnings come from the main claude PID (not a child process), within ~1 ms of each other.

Reproduction

  1. macOS 15.7.5 (Build 24G624), x86_64
  2. claude --version → 2.1.133 (Claude Code)
  3. Launch interactive mode: claude → warnings appear during startup
  4. Warnings do not appear with claude --version, claude --help, or claude --print "hi"

What I ruled out

I confirmed the warning is not caused by a corrupt plist on disk:

CheckResult
plutil -lint ~/Library/LaunchAgents/com.claude.fix-hooks.plistOK
plutil -lint ~/Library/Preferences/.GlobalPreferences.plistOK
plutil -lint on every plist in ~/Library modified within the last weekAll OK
plutil -lint ~/Library/Preferences/com.anthropic.*OK

The "line 3" in the warning refers to the line in the data CF tried to parse with the old-style parser (after XML parsing already failed) — not line 3 of any file on disk. So linting plist files won't surface the bad data.

Likely cause

Claude Code 2.1.133 is a native Mach-O binary that links against CoreFoundation. Some macOS API called only during interactive TUI startup (not in --print or --version mode) is feeding non-XML data to CFPropertyListCreateFromXMLData() internally. Candidates:

  • Pasteboard/clipboard read (NSPasteboard)
  • Notification Center registration
  • URL handler registration (com.anthropic.claude-code-url-handler shows up in the binary's strings)
  • Some stat/preference read that returns empty or non-plist data

The fact that the warning fires twice in quick succession suggests two independent CF read sites at startup.

Impact

Cosmetic only — CF abandons the parse and returns NULL, the binary continues normally. But the noise scrolls into the terminal at startup and looks alarming, especially because the message references "Break on _CFPropertyListMissingSemicolon to debug." which sounds like a real failure.

System

  • macOS 15.7.5 (24G624)
  • Architecture: x86_64
  • Claude Code: 2.1.133, installed via native installer at ~/.local/share/claude/versions/2.1.133

Suggested fix

Audit the macOS-specific startup paths in interactive mode for CF property list reads on data that might be empty or non-XML. Either validate the data before calling CFPropertyListCreateFromXMLData(), or use CFPropertyListCreateWithData() with explicit format handling so the old-style fallback doesn't trigger.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix CFPropertyList warning at interactive startup on macOS