{"record":{"id":"f202cf2944a58181","repo":"bytedance/deer-flow","slug":"channel-provider-is-not-configured","errorCode":null,"errorMessage":"Channel provider is not configured","messagePattern":"Channel provider is not configured","errorType":"http","errorClass":"HTTPException","httpStatus":400,"severity":"error","filePath":"backend/app/gateway/routers/channel_connections.py","lineNumber":634,"sourceCode":"\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\n\n@router.post(\"/{provider}/runtime-config\", response_model=ChannelProviderResponse)","sourceCodeStart":616,"sourceCodeEnd":652,"githubUrl":"https://github.com/bytedance/deer-flow/blob/1dd6ba1acb03700589994b0366c5d1c7d05e2eff/backend/app/gateway/routers/channel_connections.py#L616-L652","documentation":"Error \"Channel provider is not configured\" thrown in bytedance/deer-flow.","triggerScenarios":"Thrown at backend/app/gateway/routers/channel_connections.py:634 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add the provider's configuration block (tokens, app credentials, URLs) to config.yaml or the channel connection settings.","Restart the Gateway after updating the configuration."],"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-15T22:17:37.221Z"}