paperclipai/paperclip · error
Environment " " is not active.
Error message
Environment "${input.environment.name}" is not active. What it means
State guard during lease acquisition (acquireRunLease path): the environment named in the input has a status other than active (e.g. disabled or deleted). Paperclip refuses to acquire run leases against inactive environments, so the operation is rejected before the driver is consulted.
Solutions
- Reactivate the environment before performing this operation.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/services/environment-runtime.ts:3057 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@3f1d897a7c (2026-08-18).
Data as JSON: /api/errors/34e5181c0cdd0a1b.
Report an issue: GitHub.
Appendix: source
Thrown at server/src/services/environment-runtime.ts:3273
): EnvironmentRuntimeDriver {
const environmentsSvc = environmentService(db);
const pluginRegistry = pluginRegistryService(db);
async function resolvePluginDriver(config: PluginEnvironmentConfig) {
const plugin = await pluginRegistry.getByKey(config.pluginKey);
if (!plugin || plugin.status !== "ready") {
throw new Error(`Plugin environment driver "${pluginDriverProviderKey(config)}" is not ready.`);
}
const driver = plugin.manifestJson.environmentDrivers?.find(
(candidate) => candidate.driverKey === config.driverKey,
);
if (!driver) {
throw new Error(`Plugin "${config.pluginKey}" does not declare environment driver "${config.driverKey}".`);
}
if (!workerManager.isRunning(plugin.id)) {
throw new Error(`Plugin environment driver "${pluginDriverProviderKey(config)}" has no running worker.`);
}
return { plugin };
}
async function resolvePluginDriverForRelease(input: EnvironmentDriverReleaseInput) {
const metadata = input.lease.metadata ?? {};
const metadataPluginId = readString(metadata.pluginId);
const metadataPluginKey = readString(metadata.pluginKey);
const metadataDriverKey = readString(metadata.driverKey);
const currentConfig = tryParseCurrentPluginConfig(input.environment);
if (!metadataPluginId && !metadataPluginKey && !metadataDriverKey) {
if (!currentConfig) {
throw new Error(`Expected plugin environment config for driver "${input.environment.driver}".`);
}
const { plugin } = await resolvePluginDriver(currentConfig);
return {
plugin,
pluginKey: currentConfig.pluginKey,
driverKey: currentConfig.driverKey,View on GitHub (pinned to 3f1d897a7c)