{"record":{"id":"8a780ef684fa8d5a","repo":"langchain-ai/deepagents","slug":"extension-options-are-missing-from-the-config-mani","errorCode":null,"errorMessage":"Extension options are missing from the config manifest","messagePattern":"Extension options are missing from the config manifest","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"libs/code/deepagents_code/extensions/settings.py","lineNumber":102,"sourceCode":"\n\ndef load_extension_settings() -> ExtensionSettings:\n    \"\"\"Resolve extension settings through the shared config generation.\n\n    Returns:\n        Effective settings with safe defaults for malformed values.\n\n    Raises:\n        RuntimeError: If the extension manifest options are unavailable.\n    \"\"\"\n    from deepagents_code.config_manifest import _emit_ranked_diagnostics, get_option\n\n    resolver = get_config_resolver()\n    enabled_option = get_option(\"extensions.enabled\")\n    trust_option = get_option(\"extensions.trust\")\n    if enabled_option is None or trust_option is None:\n        msg = \"Extension options are missing from the config manifest\"\n        raise RuntimeError(msg)\n    enabled_resolved = resolver.get(enabled_option)\n    _emit_ranked_diagnostics(enabled_option, enabled_resolved)\n    trust_resolved = resolver.get(trust_option)\n    _emit_ranked_diagnostics(trust_option, trust_resolved)\n    enabled = cast(\"bool\", enabled_resolved.value)\n    trust = TrustPolicy(cast(\"str\", trust_resolved.value))\n    section = _read_config_section(resolver)\n\n    return ExtensionSettings(\n        enabled=enabled,\n        trust=trust,\n        extra_paths=_parse_paths(section.get(\"extra_paths\"), name=\"extra_paths\"),\n    )\n","sourceCodeStart":84,"sourceCodeEnd":116,"githubUrl":"https://github.com/langchain-ai/deepagents/blob/a1af029e6e73cb17c36bff823d227747b28e91e1/libs/code/deepagents_code/extensions/settings.py#L84-L116","documentation":"`load_extension_settings` reads the `extensions.enabled` and `extensions.trust` options from the config option registry; if either is not registered in the config manifest it raises `RuntimeError`. This is an internal-consistency guard: the application manifest is expected to always declare both options, so their absence means a broken/partial config schema rather than user misconfiguration.","triggerScenarios":"Calling `load_extension_settings` when the option registry was not populated from the full config manifest — e.g. a stripped/custom manifest missing `extensions.enabled` or `extensions.trust`, an outdated bundled manifest, or code paths constructing a resolver before options are registered.","commonSituations":"Pinned older config manifest shipped with a newer binary (version skew); tests or tools that spin up a resolver with a hand-built option set; corrupted or partially-written application config schema.","solutions":["Restore/refresh the config manifest so both `extensions.enabled` and `extensions.trust` are declared","Reinstall or update dcode to realign the binary with its manifest","If embedding the SDK, register the extension options in your custom option registry before calling this function"],"exampleFix":"// before\nresolver = get_config_resolver()  # built from a custom subset of options\nsettings = load_extension_settings()\n\n// after\nregister_default_options()  # ensure full manifest, incl. extensions.enabled/.trust\nresolver = get_config_resolver()\nsettings = load_extension_settings()","handlingStrategy":"try-catch","validationCode":"from deepagents_code.config import get_option\nif get_option(\"extensions.enabled\") is None or get_option(\"extensions.trust\") is None:\n    raise RuntimeError(\"config manifest lacks extensions options\")","typeGuard":"def manifest_supports_extensions(get_option) -> bool:\n    return get_option(\"extensions.enabled\") is not None and get_option(\"extensions.trust\") is not None","tryCatchPattern":"try:\n    settings = load_extension_settings()\nexcept RuntimeError as exc:\n    logger.error(\"config manifest incomplete: %s\", exc)","preventionTips":["Register default options from the full manifest before reading settings","Keep binary and config manifest versions in sync","In embedded/SDK use, call the option-registration bootstrap first"],"tags":["configuration","extensions","internal-consistency"],"backgroundTag":"missing-config-option","analyzedSha":"a1af029e6e73cb17c36bff823d227747b28e91e1","analyzedAt":"2026-08-29T11:43:24.718Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}