{"record":{"id":"e58b053c27aa5e84","repo":"nanocoai/nanoclaw","slug":"no-container-config-for-group-id","errorCode":null,"errorMessage":"No container config for group: ${id}","messagePattern":"No container config for group: (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/cli/resources/groups.ts","lineNumber":365,"sourceCode":"                }\n              : undefined,\n          );\n          return { restarted: 1, rebuilt: !!args.rebuild };\n        }\n\n        // From the host: restart all running containers in the group\n        const count = await restartAgentGroupContainers(id, 'restarted via ncl', message);\n        return { restarted: count, rebuilt: !!args.rebuild };\n      },\n    },\n    'config get': {\n      access: 'open',\n      description: 'Show the container config for a group. Use --id <group-id>.',\n      handler: async (args) => {\n        const id = args.id as string;\n        if (!id) throw new Error('--id is required');\n        const row = await getContainerConfig(id);\n        if (!row) throw new Error(`No container config for group: ${id}`);\n        return presentConfig(row);\n      },\n    },\n    'config update': {\n      access: 'approval',\n      description:\n        'Update container config scalar fields. Changes are saved but do NOT take effect until you run `ncl groups restart`. ' +\n        'Use --id <group-id> and any of: --provider, --model, --effort, --image-tag, --assistant-name, --max-messages-per-prompt, --cli-scope, ' +\n        '--timezone (IANA id like \"Europe/Lisbon\"; \"\" clears back to the install default; scheduled-task times follow it immediately, message display after restart).',\n      handler: async (args) => {\n        const id = args.id as string;\n        if (!id) throw new Error('--id is required');\n        const row = await getContainerConfig(id);\n        if (!row) throw new Error(`No container config for group: ${id}`);\n\n        const updates: Partial<\n          Pick<\n            ContainerConfigRow,","sourceCodeStart":347,"sourceCodeEnd":383,"githubUrl":"https://github.com/nanocoai/nanoclaw/blob/294ef2aee85218b23ad30eda9dfe10e590b54a8c/src/cli/resources/groups.ts#L347-L383","documentation":"`ncl groups config get --id <id>` found no row in the container_configs table for that group. Configs are normally created alongside the group (or backfilled from legacy container.json by src/backfill-container-configs.ts at startup), so a missing row means the group id is wrong or the config was never provisioned.","triggerScenarios":"Passing a nonexistent/mistyped group id; passing the folder name instead of ag-<uuid>; querying a group created by an older path before the backfill ran (host not restarted since v2 migration); a group whose config row was manually deleted from the DB.","commonSituations":"Post-v2-migration installs where backfill hasn't run yet; copy/paste id truncation; scripting against a fresh DB copy that has agent_groups rows but not matching container_configs rows.","solutions":["Verify the id: `ncl groups list` and use the exact ag-<uuid>","If the group is legacy (v1/migrated), restart the host so backfill-container-configs migrates any groups/<folder>/container.json into the DB, then retry","If the row is genuinely missing, `ncl groups config update --id <id> --provider claude` will also fail — recreate or manually insert the config row"],"exampleFix":"# before\nncl groups config get --id my-agent-folder\n# after\nncl groups list\nncl groups config get --id ag-1234abcd-...","handlingStrategy":"try-catch","validationCode":"const cfg = await getContainerConfig(id);\nif (!cfg) { /* restart host to trigger backfill, or fix the id */ }","typeGuard":"const hasConfig = (r: unknown): r is ContainerConfigRow => !!r && typeof (r as any).group_id === 'string';","tryCatchPattern":"try { await getConfig(id) } catch (e) { if (e instanceof Error && e.message.startsWith('No container config for group:')) { await restartHostForBackfill(); return getConfig(id); } throw e; }","preventionTips":["Restart the host once after v2 migration so backfill-container-configs runs","Validate ids against `ncl groups list` before config queries"],"tags":["cli","not-found","container-config"],"backgroundTag":"entity-not-found","analyzedSha":"294ef2aee85218b23ad30eda9dfe10e590b54a8c","analyzedAt":"2026-08-28T13:59:10.357Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}