Skip to content
Refusals and errors

Publishing refusals

What each refusal means when a version will not publish, from a bad version number to a missing SKILL.md, and how to fix it.

The version number is not valid

Code: invalid_semver

A version must be three whole numbers separated by dots, like 1.4.0. No v in front, no leading zeros, and no labels such as -beta.

The version number must go up

Code: version_not_forward, duplicate_version

A new version must be higher than every existing version, even rejected or withdrawn ones. If someone just published the same number, it already exists. Check the History tab and use the next number up.

SKILL.md is missing

Code: missing_entry

Every version needs a file named exactly SKILL.md at the root of the folder. The same code with "That artifact no longer exists" means the artifact was removed while you were publishing.

The frontmatter is not valid

Code: invalid_frontmatter

SKILL.md must start with a block between two --- lines containing a name (lowercase letters, digits and hyphens) and a description. The message lists what is missing. See Create or upload an artifact.

A file path is not allowed

Code: invalid_path

Paths must be relative, name a file rather than a folder, and contain no .. or empty segments, no control characters and none of \ : * ? " < > |. Folders may not nest too deeply, and two paths may not differ only by upper or lower case. Rename the file the message names.

A public artifact requires a private one

Code: private_requirement

Your artifact is public, but its requires list names one that is not public or does not exist, so people could not install it. Make that one public, remove it from requires, or keep yours non-public.

No approved version

Code: version_not_approved

A browser shortcut can only insert an artifact that has an approved version, and Open pull request only works for a version approved in Review. Wait until a version is approved.

The request was not sent as JSON

Code: unsupported_media_type

Your tool sent a format the server does not accept. Update deftro, the MCP server or the browser extension to the latest version. If you call the API yourself, send JSON.

Checked against the product on .

Related articles