windmill-labs/windmill · error
Flow "${path}" is not deployed; there is no newer version to
Error message
Flow "${path}" is not deployed; there is no newer version to rebase onto. What it means
Thrown by rebaseFlowDraft when the flow draft exists but the flow has never been deployed. Rebase only makes sense when a deploy moved ahead of the draft's fork base; with no deployed version there is no target, and the draft already sits on the latest state.
Source
Thrown at frontend/src/lib/components/copilot/chat/global/core.ts:6297
`version you forked from). Re-apply them with edit_script / write_script — the new draft will be ` +
`based on the latest deployed version (hash ${latest.hash}) — then deploy.`,
latest_hash: latest.hash,
your_changes: yourChanges
},
null,
2
)
}
async function rebaseFlowDraft(path: string, ctx: WriteDraftCtx): Promise<string> {
const { workspace, toolId, toolCallbacks } = ctx
const draft = await getGlobalDraft(workspace, 'flow', path)
if (!draft || draft.value === undefined || typeof draft.value === 'string') {
throw new Error(`No flow draft found for "${path}".`)
}
if (!(await FlowService.existsFlowByPath({ workspace, path }))) {
throw new Error(`Flow "${path}" is not deployed; there is no newer version to rebase onto.`)
}
const latest = await FlowService.getFlowByPath({ workspace, path })
const baseVersion = draft.parentVersionId
if (baseVersion != null && baseVersion === latest.version_id) {
const message = `Draft "${path}" is already based on the latest deployed version (${latest.version_id}).`
toolCallbacks.setToolStatus(toolId, { content: message })
return JSON.stringify({
success: true,
alreadyLatest: true,
latest_version: latest.version_id,
message
})
}
toolCallbacks.setToolStatus(toolId, { content: `Rebasing draft "${path}" onto latest...` })
// The draft's own changes vs its fork-base flow value, as a JSON diff for theView on GitHub (pinned to e474e8803c)
Solutions
- Deploy the flow first, then rebase if it changes again afterwards
- Skip rebasing and deploy the draft directly — it is already current
- Check the path/workspace if you expected an existing deployment
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at frontend/src/lib/components/copilot/chat/global/core.ts:6297 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03).
Data as JSON: /api/errors/4bbb9a1421260578.
Report an issue: GitHub.