{"record":{"id":"dea3eedeb63b40d5","repo":"paperclipai/paperclip","slug":"secret-value-is-required-pass-value-or-value","errorCode":null,"errorMessage":"Secret value is required. Pass --value or --value-env.","messagePattern":"Secret value is required\\. Pass --value or --value-env\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/commands/client/secrets.ts","lineNumber":204,"sourceCode":"  return next;\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> | null {\n  if (typeof value !== \"object\" || value === null || Array.isArray(value)) return null;\n  return value as Record<string, unknown>;\n}\n\nfunction readValueFromOptions(opts: { value?: string; valueEnv?: string }): string {\n  if (opts.value !== undefined && opts.valueEnv !== undefined) {\n    throw new Error(\"Use only one of --value or --value-env.\");\n  }\n  if (opts.valueEnv !== undefined) {\n    const value = process.env[opts.valueEnv];\n    if (!value) throw new Error(`Environment variable ${opts.valueEnv} is empty or unset.`);\n    return value;\n  }\n  if (opts.value !== undefined) return opts.value;\n  throw new Error(\"Secret value is required. Pass --value or --value-env.\");\n}\n\nfunction renderDeclaration(input: CompanyPortabilityEnvInput): Record<string, unknown> {\n  const scope = input.agentSlug\n    ? `agent:${input.agentSlug}`\n    : input.projectSlug\n      ? `project:${input.projectSlug}`\n      : \"company\";\n  return {\n    key: input.key,\n    scope,\n    kind: input.kind,\n    requirement: input.requirement,\n    portability: input.portability,\n    hasDefault: input.defaultValue !== null && input.defaultValue.length > 0,\n    description: input.description,\n  };\n}","sourceCodeStart":186,"sourceCodeEnd":222,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/cli/src/commands/client/secrets.ts#L186-L222","documentation":"readValueFromOptions got neither --value nor --value-env, so there is no secret value to create or rotate with; a required-input guard.","triggerScenarios":"Thrown at cli/src/commands/client/secrets.ts:204 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass the secret value via --value or --value-env."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}