BloopAI/vibe-kanban · warning
No cleanup script configured for this project
Error message
No cleanup script configured for this project
What it means
Thrown by the RunCleanupScript action when workspacesApi.runCleanupScript returns success:false with error.type === 'no_script_configured'. The backend has no cleanup script registered for the project, so the request is rejected before any process starts.
Source
Thrown at packages/web-core/src/shared/actions/index.ts:1189
}
throw new Error('Failed to run setup script');
}
},
},
RunCleanupScript: {
id: 'run-cleanup-script',
label: 'Run Cleanup Script',
icon: TerminalIcon,
shortcut: 'R C',
requiresTarget: ActionTargetType.WORKSPACE,
isVisible: (ctx) => ctx.hasWorkspace,
isEnabled: (ctx) => !ctx.isAttemptRunning,
execute: async (_ctx, workspaceId) => {
const result = await workspacesApi.runCleanupScript(workspaceId);
if (!result.success) {
if (result.error?.type === 'no_script_configured') {
throw new Error('No cleanup script configured for this project');
}
if (result.error?.type === 'process_already_running') {
throw new Error('Cannot run script while another process is running');
}
throw new Error('Failed to run cleanup script');
}
},
},
RunArchiveScript: {
id: 'run-archive-script',
label: 'Run Archive Script',
icon: TerminalIcon,
shortcut: 'R A',
requiresTarget: ActionTargetType.WORKSPACE,
isVisible: (ctx) => ctx.hasWorkspace,
isEnabled: (ctx) => !ctx.isAttemptRunning,
execute: async (_ctx, workspaceId) => {View on GitHub (pinned to 4deb7eca8f)
Solutions
- Define a cleanup script in the project configuration if cleanup automation is desired.
- Hide/disable the RunCleanupScript action when no cleanup script is configured.
- Confirm the correct project is selected — script configuration is per-project.
- If the script was just added, refresh the project data before invoking the action.
Example fix
// before isVisible: (ctx) => ctx.hasWorkspace, // after isVisible: (ctx) => ctx.hasWorkspace && ctx.hasCleanupScript,
Defensive patterns
Strategy: validation
Validate before calling
// before running
const ctx = getWorkspaceContext(workspaceId);
if (!ctx.hasWorkspace) return;
if (!ctx.project.cleanupScript) {
toast.info('No cleanup script configured for this project');
return;
}
await workspacesApi.runCleanupScript(workspaceId); Type guard
function isNoScriptError(result: RunScriptResult): boolean {
return result.success === false && result.error?.type === 'no_script_configured';
} Try / catch
try {
const result = await workspacesApi.runCleanupScript(workspaceId);
if (!result.success && result.error?.type === 'no_script_configured') {
toast.info('Add a cleanup script in project settings first.');
return;
}
if (!result.success) throw new Error(result.error?.message ?? 'Failed to run cleanup script');
} catch (err) {
toast.error(String(err));
} Prevention
- Define a cleanup script in project settings if you want automated cleanup.
- Hide cleanup actions for projects that define no cleanup script.
- Branch on error.type instead of parsing the error message.
- Verify which project you are operating on before invoking script actions.
When it happens
Trigger: Executing RunCleanupScript on a workspace whose project defines no cleanup script (cleanup_script null/empty), producing the structured { success: false, error: { type: 'no_script_configured' } } response.
Common situations: Projects that only define a setup script, users assuming a default cleanup script exists, or project configs migrated from versions before cleanup scripts were introduced.
Related errors
- No setup script configured for this project
- No archive script configured for this project
- Failed to run setup script
- Failed to run cleanup script
- Workspace has no repositories configured
AI-assisted analysis of BloopAI/vibe-kanban@4deb7eca8f (2026-08-29).
Data as JSON: /api/errors/4a082c80ee24fc35.
Report an issue: GitHub.