can1357/oh-my-pi · error
Unknown Codex Security cloud configuration: ${configurationI
Error message
Unknown Codex Security cloud configuration: ${configurationId} What it means
getConfiguration() pages through all cloud scan configurations (500 per page) and throws this error if no item's id or sourceId equals the requested configurationId. The identifier exists locally but not in the cloud's current configuration list.
Source
Thrown at packages/coding-agent/src/security/cloud.ts:262
const configurations: CodexSecurityCloudConfiguration[] = [];
let cursor: string | undefined;
do {
const page = await this.listConfigurations({ limit: 500, cursor, signal });
configurations.push(...page.items);
cursor = page.nextCursor;
} while (cursor);
return configurations;
}
async getConfiguration(configurationId: string, signal?: AbortSignal): Promise<CodexSecurityCloudConfiguration> {
let cursor: string | undefined;
do {
const page = await this.listConfigurations({ limit: 500, cursor, signal });
const found = page.items.find(item => item.id === configurationId || item.sourceId === configurationId);
if (found) return found;
cursor = page.nextCursor;
} while (cursor);
throw new Error(`Unknown Codex Security cloud configuration: ${configurationId}`);
}
async startScan(input: StartCodexSecurityCloudScanInput): Promise<CodexSecurityCloudConfiguration> {
if (
input.lookbackDays !== undefined &&
input.lookbackDays !== "all" &&
(!Number.isInteger(input.lookbackDays) || input.lookbackDays < 1)
) {
throw new Error("lookbackDays must be a positive integer or 'all'");
}
const raw = await this.#request("scan_configurations", {
method: "POST",
signal: input.signal,
body: accessToken => {
const scanInput: JsonObject = {
environment_id: input.environmentId,
lookback_days: input.lookbackDays === "all" ? null : (input.lookbackDays ?? 30),
notification_rules: [],View on GitHub (pinned to 9690622007)
Solutions
- Call listConfigurations() and pick a currently-existing id/sourceId
- Re-create the scan configuration in the cloud and use its new id
- Verify you are authenticated against the same cloud account/tenant that owns the configuration
- Check the id for typos/truncation
Example fix
// before
const config = await client.getConfiguration("cfg_old_deleted");
// after
const page = await client.listConfigurations({ limit: 500 });
const config = await client.getConfiguration(page.items[0].id); // a live id Defensive patterns
Strategy: try-catch
Validate before calling
const page = await client.listConfigurations({ limit: 500 });
if (!page.items.some(i => i.id === id || i.sourceId === id)) {
throw new Error(`Configuration ${id} not found in cloud`);
} Try / catch
try {
const config = await client.getConfiguration(configurationId);
} catch (err) {
if (err.message.startsWith("Unknown Codex Security cloud configuration")) {
const page = await client.listConfigurations({ limit: 500 });
// fall back to first available config or prompt re-selection
} else throw err;
} Prevention
- Refresh stored configuration ids from the cloud before each scan
- Handle configuration deletion server-side as a normal case
- Confirm same tenant/account when ids come from another environment
When it happens
Trigger: Calling getConfiguration(configurationId) with an id from an old/deleted configuration, a sourceId that no longer matches, a typo'd/truncated id, or after the configuration was deleted in the cloud UI.
Common situations: Cached configuration ids from previous sessions; configurations deleted or re-created (new id) server-side; scanning with a sourceId from a different cloud tenant/account.
Understand the failure class
Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.
Related errors
- Plugin ${name} not found in runtime config
- No model configured
- Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL
- Cannot register custom API "${api}": built-in API names are
- Unable to read OMP_AUTH_BROKER_ACCOUNT_POOL_FILE at ${filePa
AI-assisted analysis of can1357/oh-my-pi@9690622007 (2026-08-31).
Data as JSON: /api/errors/c9ae9948ff2cacc5.
Report an issue: GitHub.