{"version":"2.1.242","anchor":"artifact-tool-manifests-are-checked-before-publish-and-app-b","canonical_anchor":"artifact-tool-manifests-are-checked-before-publish-and-app-b","heading":"Artifact tool manifests are checked before publish, and app built-ins refused","tier":"notice","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/artifact-tool-manifests-are-checked-before-publish-and-app-b","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### Artifact tool manifests are checked before publish, and app built-ins refused\n\nPages must declare MCP servers this session actually has, and the Claude app's own built-ins are refused.\n\n**What**\n\nA page that declares which MCP servers it needs is now validated against the servers this session is actually connected to before it can be published, with each failure named rather than a generic error. Pages declaring the Claude app's own built-in servers (cowork, scheduled-tasks, session_info, workspace) are refused.\n\n**Details**\n\n- Failure reasons include `not_object`, `no_servers`, `entry_shape`, `no_tools`, `tools_shape`, `tool_name`, `opaque_id`, `known_id`, `connector_as_host` and `undeclarable_name`.\n- Duplicate entries that resolve to the same server are merged, and manifests are rejected outright if they declare too many tools or too many servers.\n- The guidance shown to Claude changes depending on whether the session has claude.ai connectors and a meta connector.\n\n**Evidence**\n\n`manifest entries resolve to `\n\n- Area: Artifacts\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 4\/5"}