So I have been experimenting with Claude to generate blog posts. First issue (amongst may others) is that it does not add a URL title to the post if none is in the front matter, it puts [ ] which results in the field being displayed as “Array”
Next it does the same around the URL filed itself i.e. [ ] rather than “” so it does not appear.
Also if a frontmatter field is missing in the request to Claude (i.e no website site address is supplied) the the result is again the website showing “Array” rather than nothing.
This is what Claude had to say about it:
Diagnosing CMS schema quirks causing empty array rendering
Let me test whether there’s a way to actually remove a key rather than empty it — trying null instead of an empty string.
Identified server-side limitation preventing field deletion from markdown files
Identified server-side limitation preventing field deletion from markdown files
That confirms it — null produced the exact same result as empty string: []. So this isn’t something I can control from the input side; the CMS server itself normalizes any “no value” field (empty string, null, or omitted) to an empty array []rather than leaving the key out entirely. That’s what’s rendering as “Array” on the site.
This is a limitation of the content_update_item/content_create_item tools, not something fixable by changing what I send. Same category of issue as the urltitle list-wrapping bug — likely worth flagging on the Elements CMS support forum alongside your earlier linkification bug report, since it means any unused optional field will show “Array” on the front end unless removed manually.
For now, the practical fix is the same as before: after I create or update an entry, if a field like facebook, offer, location, or phone is genuinely not needed, you’ll need to delete that key from the frontmatter manually in the file manager rather than relying on me to blank it out.
Your thoughts appreciated!