{"record":{"id":"0d4b0b6aad168a19","repo":"bytedance/deer-flow","slug":"unavailable-reason","errorCode":null,"errorMessage":"{unavailable_reason}","messagePattern":"\\{unavailable_reason\\}","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"backend/app/gateway/routers/channel_connections.py","lineNumber":632,"sourceCode":"    return _provider_response(config, live_channels_config, provider, _PROVIDER_META[provider])\n\n\n@router.post(\"/{provider}/connect\", response_model=ChannelConnectResponse)\nasync def connect_channel_provider(provider: str, request: Request) -> ChannelConnectResponse:\n    config = await _get_channel_connections_config(request)\n    channels_config = await _get_channels_config(request)\n    if not config.enabled:\n        raise HTTPException(status_code=400, detail=\"Channel connections are disabled\")\n\n    provider_config = _provider_config(config, provider)\n    if provider_config.enabled and _runtime_channel_configured(provider, channels_config):\n        await _ensure_runtime_channel_ready_if_available(provider, channels_config)\n\n    status, unavailable_reason = _provider_status(config, channels_config, provider)\n    if not status[\"enabled\"]:\n        raise HTTPException(status_code=400, detail=\"Channel provider is not enabled\")\n    if unavailable_reason:\n        raise HTTPException(status_code=400, detail=unavailable_reason)\n    if not status[\"configured\"]:\n        raise HTTPException(status_code=400, detail=\"Channel provider is not configured\")\n\n    repo = _get_repository(request, config)\n    code = await _create_state(\n        repo,\n        owner_user_id=_get_user_id(request),\n        provider=provider,\n    )\n    return ChannelConnectResponse(\n        provider=provider,\n        mode=_PROVIDER_META[provider][\"auth_mode\"],\n        url=_connect_url(config, provider, code),\n        code=code,\n        instruction=_connect_instruction(provider, code),\n        expires_in=_STATE_TTL_SECONDS,\n    )\n","sourceCodeStart":614,"sourceCodeEnd":650,"githubUrl":"https://github.com/bytedance/deer-flow/blob/1dd6ba1acb03700589994b0366c5d1c7d05e2eff/backend/app/gateway/routers/channel_connections.py#L614-L650","documentation":"Error \"{unavailable_reason}\" thrown in bytedance/deer-flow.","triggerScenarios":"Thrown at backend/app/gateway/routers/channel_connections.py:632 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the unavailable_reason text; it states the concrete prerequisite that is missing.","Fix the named prerequisite (install extra, enable provider, or add config) and retry."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1dd6ba1acb03700589994b0366c5d1c7d05e2eff","analyzedAt":"2026-08-14T21:20:34.804Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}