remotion-dev/remotion · error · Error
Could not update sequence keyframe settings
Error message
Could not update sequence keyframe settings
What it means
Rejected by updateSequenceKeyframeSettings in @remotion/browser-studio when `result.appliedSequenceMutations[0]` is undefined — the settings-update mutation for an existing sequence keyframe (fileName + nodePath + schema + key) was not applied. It throws rather than returning a result object, so callers see a rejected promise. Typically the keyframe's addressing information no longer matches the project.
Source
Thrown at packages/browser-studio/src/browser-studio-operations.ts:1755
});
return {success: true};
},
updateSequenceKeyframeSettings: async (request) => {
const result = await commitKeyframeMutations({
label: `${request.key} keyframe settings`,
sequenceMutations: [
{
fileName: request.fileName,
nodePath: request.nodePath,
schema: request.schema,
updates: [{key: request.key, operation: request.settings}],
},
],
effectMutations: [],
});
const mutation = result.appliedSequenceMutations[0];
if (!mutation) {
throw new Error('Could not update sequence keyframe settings');
}
return getSequenceKeyframeResponse({mutation, project: result.project});
},
updateEffectKeyframeSettings: async (request) => {
const result = await commitKeyframeMutations({
label: `${request.key} effect keyframe settings`,
sequenceMutations: [],
effectMutations: [
{
fileName: request.fileName,
sequenceNodePath: request.sequenceNodePath,
effectIndex: request.effectIndex,
schema: request.schema,
updates: [{key: request.key, operation: request.settings}],
},
],
});View on GitHub (pinned to b2f4e34732)
Solutions
- Re-read the current node path and schema, confirm the keyframe still exists, then retry
- If the keyframe was deleted, close the editor / drop the pending settings change instead of retrying
- Wrap in try/catch and re-sync panel state on failure
Example fix
// before
await operations.keyframes.updateSequenceKeyframeSettings({
fileName, nodePath: stale, schema: stale, key: 'scale', settings,
});
// after
try {
await operations.keyframes.updateSequenceKeyframeSettings({
fileName, nodePath: await currentPath(), schema: await currentSchema(),
key: 'scale', settings,
});
} catch {
await reloadKeyframeEditor();
} Defensive patterns
Strategy: try-catch
Try / catch
try {
await operations.keyframes.updateSequenceKeyframeSettings({fileName, nodePath, schema, key, settings});
} catch (error) {
// keyframe or its addressing is stale; reload editor state
await reloadKeyframeEditor();
} Prevention
- Close or disable keyframe settings editors when the underlying keyframe is deleted
- Re-verify the keyframe still exists at nodePath/key before saving settings
When it happens
Trigger: Calling `keyframes.updateSequenceKeyframeSettings({fileName, nodePath, schema, key, settings})` after the node or keyframe was removed, after the schema changed, or with a key that has no keyframes on that prop.
Common situations: Editing keyframe settings (e.g. interpolation/easing) in a properties panel that holds stale node paths; the user deleted the keyframe in the timeline while the panel was open; component schema changed on reload.
Related errors
- Could not update effect keyframe settings
- Could not add sequence keyframe
- Could not add effect keyframe
- Could not reorder sequence
- Could not split video from audio
AI-assisted analysis of remotion-dev/remotion@b2f4e34732 (2026-08-22).
Data as JSON: /api/errors/1c01f379f32e2759.
Report an issue: GitHub.