paperclipai/paperclip · error

Job " " is not active (status: )

Error message

Job "${job.jobKey}" is not active (status: ${job.status})

What it means

State guard in triggerJob: the job exists but its status is not active (paused, disabled, etc.), so manual triggers are refused. The job's lifecycle status is at fault; resume the job before triggering.

Solutions

  1. Activate (enable) the job before triggering it, or check job.status and only trigger jobs whose status is active.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server/src/services/plugin-job-scheduler.ts:449 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18). Data as JSON: /api/errors/03200eb8025ce729. Report an issue: GitHub.

Appendix: source

Thrown at server/src/services/plugin-job-scheduler.ts:449

      }
    }
  }

  // -----------------------------------------------------------------------
  // Core: manual trigger
  // -----------------------------------------------------------------------

  async function triggerJob(
    jobId: string,
    trigger: "manual" | "retry" = "manual",
  ): Promise<TriggerJobResult> {
    const job = await jobStore.getJobById(jobId);
    if (!job) {
      throw new Error(`Job not found: ${jobId}`);
    }

    if (job.status !== "active") {
      throw new Error(
        `Job "${job.jobKey}" is not active (status: ${job.status})`,
      );
    }

    // Overlap prevention
    if (activeJobs.has(jobId)) {
      throw new Error(
        `Job "${job.jobKey}" is already running — cannot trigger while in progress`,
      );
    }

    // Also check DB for running runs (defensive — covers multi-instance)
    const existingRuns = await db
      .select()
      .from(pluginJobRuns)
      .where(
        and(
          eq(pluginJobRuns.jobId, jobId),

View on GitHub (pinned to 120ae5428f)