After Effects MCP tool and scene errors
This page covers errors from Prism's curated tools and scene documents. Read the first clause: a validation error ran nothing, while comp-not-found and its family reached After Effects and found nothing there. Every error here shows in your AI client.
| The message starts with | Did anything run | First move |
|---|---|---|
| "Tool "…" does not accept", "was called with arguments Prism will not execute", "Input validation failed" | No | Fix the arguments; asking for the tool again returns what it accepts |
comp-not-found, layer-not-found, property-not-found | The call reached After Effects | Read the project again and use the exact name |
| "Scene rejected", "Scene could not be compiled" | No | Fix the listed fields and resend the document |
Arguments Prism will not execute
Argument not recognised
You see: "Tool "{tool}" does not accept the argument(s) "{k}" — did you mean "{near}"?"
Meaning. The tool does not accept "{k}". Nothing ran, so no default was used silently.
Fix. Use one of the accepted arguments the message lists.
Arguments too many
You see: "Tool "{tool}" was called with arguments Prism will not execute: …"
Meaning. The tool arguments hold more than 100,000 values. Nothing ran.
Fix. Send the data in batches, or reference a file.
| The reason given | Limit | Do this |
|---|---|---|
| "they hold more than 100000 values" | 100k values | "Send the data in batches, or reference a file instead of inlining it." |
| "they nest deeper than 32 levels" | 32 levels | "Flatten the arguments to at most 32 levels of nesting": deeper nesting overruns After Effects' engine stack and would kill the running session |
| "they cannot be serialized" | plain JSON | "Send plain JSON values only — no functions, no circular references." |
| "they serialize to {bytes} bytes (the limit is 262144)" | 256 KB | "Tool arguments are parameters, not files": reference a file |
Argument shape wrong
You see: "Input validation failed for tool "{tool}""
Meaning. An argument has the wrong shape or type. Nothing ran.
Fix. Correct the argument the check names, then call again.
Argument not accepted
Meaning. An argument value is outside what the tool accepts. Nothing changed.
Fix. Use a value the message names, then call again.
| Message | Send instead |
|---|---|
| "direction must be "in" or "out"" | one of the two |
"keyframes must be a non-empty array" | at least one keyframe |
| "Pass layerName or layerIndex — a mask must target an explicit layer" | a layer |
| "Bezier easing must be [x1, y1, x2, y2] (4 numbers)" or "Easing must be a string name or a [x1,y1,x2,y2] array" | a named ease or four numbers |
| "No sampler for easing: {name}" | a known ease name |
"tweenToKeyframes: duration must be > 0", "stiffness must be > 0" | a positive number |
| "Invalid stagger origin: {from}" | a supported origin |
The call reached After Effects and found nothing
Prism appends two sentences to every error in this family: "The script did reach After Effects, so treat anything you were holding about the project as stale and read it again." and "Re-sending this exact call will fail the same way unless something changes first — correct the call, or the condition it named, rather than repeating it."
No composition open · comp-not-found
Meaning. This tool needs an open composition. Nothing ran.
Fix. Open a comp in the timeline, or pass compositionName.
Do not resend the call unchanged.
Layer not found · layer-not-found
Meaning. No layer with that name or index exists in the composition. Nothing changed.
Fix. Use a layer name from the list, or read the composition first.
| Code | What it means | Do this |
|---|---|---|
layer-not-found | No layer by that name or index in the comp | Read the comp; with duplicate names prefer layerIndex |
property-not-found | No property at that path or match name | the message lists the names that exist; the match names are on Quirks |
not-a-text-layer | A text tool targeted a shape, solid or footage layer | Target a text layer |
point-text | The tool needs box (paragraph) text and the layer is point text | Create the layer as box text; see "Text document not of Box document type" on Quirks |
guarded | The tool writes only Prism's own PRISM_ preference section | Do not target other preference sections |
nothing-applied | The tool ran and After Effects reports no change | Check the target and values, then read the value back |
no-selection | The tool acts on the selection and nothing is selected | Select layers in the timeline, or pass names |
project-not-saved | The tool needs a saved project file | Save the project first |
expression-error | After Effects rejected the expression text | Fix the expression; the message quotes After Effects |
separated-dimensions | The property's dimensions are separated | Target the X and Y properties individually |
font-not-found, font-not-installed | The name matched no installed font | Use the PostScript name; see Quirks |
marker-index-out-of-range, mask-index-out-of-range, segment-out-of-range | The index is outside what exists; indexes are 1-based | Read the count first |
Nothing applied · nothing-applied
You see: "the write did not stick: asked for {want}, After Effects still reports {got}. After Effects accepted the call without an error and changed nothing."
Meaning. After Effects accepted the call but no value changed.
Fix. Check the value is allowed for this item, then set it once more.
The tool's contract
No composition open · comp-not-found
You see: "This tool needs an active composition."
Meaning. This tool needs an open composition. Nothing ran.
Fix. Open a comp in the timeline, or pass compositionName.
Not an AV layer · layer-type-unsupported
You see: "This tool needs an AV layer (footage, solid, text, shape, precomp or adjustment); "{name}" is a {kind} layer."
Meaning. "{name}" is a {kind} layer. This tool needs footage, solid, text, shape, precomp or adjustment. Nothing ran.
Fix. Target an AV layer, or use a camera or light tool.
Layer cannot time remap · layer-type-unsupported
You see: ""{name}" cannot be time-remapped (only footage and precomp layers can)."
Meaning. "{name}" cannot be time-remapped. Only footage and precomp layers can. Nothing ran.
Fix. Target a footage or precomp layer, or precompose this one first.
Scene documents
Scene rejected · scene-validation
You see: "Scene rejected — fix the fields below and resend the document."
Meaning. The scene document has {n} problems and was not built. Nothing ran.
Fix. Correct each field in the problems list, then send the scene again.
| Problem | Fix |
|---|---|
| "scene must be an object" | scene:{comp:{name:"..."}, layers:[...], timeline:[...]} |
| "comp is required" | comp:{name:"My Scene", width:1920, height:1080, fps:30, duration:8} |
| "layers[] is required" | add a layers array |
| "type must be one of …" | one of the listed types |
| "effects must be an array" | wrap the effect in [] |
| "shape needs fill and/or stroke" | add a fill or a stroke |
| "layout.children must list node ids" | ids, not node objects |
The limits without an example: width and height 4–8192; duration 0–3600 seconds; fps 1–120; at most 100 nodes; an id may not be reserved or duplicated; an ease is a GSAP name or [x1,y1,x2,y2]; a focus parented to another node is in parent space.
Scene could not be built · scene-compile
You see: "Scene could not be compiled — fix the fields below and resend."
Meaning. The scene is valid but a value could not be resolved, usually a colour. Nothing ran.
Fix. Use a colour as #rrggbb, rgb(…), a CSS name, or a Tailwind token.
Still running
You see: "The scene build did not respond within {s}s, but it is almost certainly STILL RUNNING or already COMPLETED in AE."
Meaning. After Effects has not answered after N seconds. The scene build is probably still running or already done.
Fix. Wait, then check recent results. Do not run it again; that duplicates the work.
SVG, Lottie and icons
SVG not readable · svg-parse
Meaning. The SVG could not be read at the point the message names. Nothing was imported.
Fix. Fix the SVG source, or export it again from the design tool.
| Message | Meaning |
|---|---|
| "parseSvg: input must be a string" | Pass the SVG source text |
"root element must be <svg>, got <\{tag\}>" | Send the whole document, not a fragment |
| "affine matrix must carry six numbers" | A transform="matrix(…)" is malformed |
| "SVG path starts without a command", "Unknown SVG path command: {cmd}", "Insufficient args for SVG path command {cmd}", "Unexpected number after Z" | The path d data is malformed |
"d must be a non-empty string" | A path has no data |
An SVG imports with the wrong colours
What it means. The import reports success:true but a logo lands magenta or green: a feColorMatrix saturate filter is written to Hue, and mesh gradients are dropped. Open on panel 1.5.1 (issue #95).
Do this. Flatten filters and gradients in the design tool and import the plain shapes.
Lottie not supported · lottie-parse
Meaning. The Lottie file is empty, invalid, or has no shape or null layers. Nothing was imported.
Fix. Export a Lottie with shape layers; precomp-only files are not supported.
Icon not found
You see: "Icon "{name}" not found in {source} (variant: {v})."
Meaning. No icon named "{name}" exists in {source} for the {variant} variant. Nothing was imported.
Fix. List the set's icon names with list-svg-icon-sets, then use one.
Discovery and the registry
discover finds nothing with categories
What it means. Asking for tools filtered to one category returns nothing and then says the tools do not exist, while the same request without the filter returns them; the filter compares a different category form. Open since 2026-08-27 (issue #148).
Do this. Run discover without the categories filter.
No curated tool covers this
What it means. The registry was cut to 39 curated tools on 2026-08-27. A tool used before that date may be gone; the message is by design, not a fault.
Do this. Use script mode: call after_effects with a script. Everything the retired tools did is available there; Scripts covers its errors.
Other tool states
Arguments nested too deep
You see: "…they nest deeper than 32 levels. Nothing was run.…"
Meaning. The tool arguments nest deeper than 32 levels. Nothing ran.
Fix. Flatten the arguments to 32 levels or fewer.
Arguments not plain data
You see: "…they cannot be serialized. Nothing was run.…"
Meaning. The tool arguments contain something that cannot be sent, such as a function. Nothing ran.
Fix. Send plain values only: no functions, no circular references.
Arguments too large
You see: "…they serialize to {bytes} bytes (the limit is 262144). Nothing…"
Meaning. The tool arguments are {bytes} bytes. The limit is 262,144. Nothing ran.
Fix. Reference a file instead of inlining the data.
Setting protected
You see: "guarded (non-PRISM_ preferences section)…"
Meaning. That preference is outside Prism's own section, so it is protected. Nothing changed.
Fix. Change settings under the Prism section only.
Change not confirmed · verify-applied
You see: "After Effects accepted the write but exposes no way to read thi…"
Meaning. After Effects accepted the change but gives no way to read it back, so Prism cannot confirm it.
Fix. Check the result in After Effects yourself.
Icon set unknown
You see: "Unknown icon source: "{set}". Available: {list}…"
Meaning. No icon set is called "{set}". Nothing was imported.
Fix. Use one of the available sets the message lists.
Icon variant unavailable
You see: "Variant "{v}" not available for {source}. Available: {list}…"
Meaning. {source} has no "{v}" variant. Nothing was imported.
Fix. Use one of the variants the message lists.
Icon download failed
You see: "HTTP {status} fetching {url}…"
Meaning. The icon source answered with an error ({status}). Nothing was imported.
Fix. Try again in a moment, or use another icon set.
Icon download timed out
You see: "Timeout fetching icon "{name}" from {source}…"
Meaning. The icon source did not answer in time. Nothing was imported.
Fix. Try again, or use another icon set.
Common questions
If an entry here does not match, email support@oneprism.io with the panel version (footer, "After Effects MCP v…") and the Copy diagnostic from the panel's Support section. On panel 1.5.1 the Support section may be empty; the version plus the error text is enough.
Related
Scripts
Fixes for After Effects MCP script errors: "null is not an object", "Object is invalid", Stack overrun, script-too-large, the TypeScript gate and timeouts.
Quirks
After Effects errors and the fix for each: setValue() on a property with keyframes, setTemporalEaseAtKey, Text document not of Box document type, hidden property