{"record":{"id":"f4820d70a3fb64da","repo":"crewAIInc/crewAI","slug":"client-id-is-required-please-set-it-in-the-config-f4820d","errorCode":null,"errorMessage":"Client ID is required. Please set it in the configuration.","messagePattern":"Client ID is required\\. Please set it in the configuration\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"lib/crewai-core/src/crewai_core/auth/providers/keycloak.py","lineNumber":28,"sourceCode":"\n    def get_authorize_url(self) -> str:\n        return f\"{self._oauth2_base_url()}/realms/{self.settings.extra.get('realm')}/protocol/openid-connect/auth/device\"\n\n    def get_token_url(self) -> str:\n        return f\"{self._oauth2_base_url()}/realms/{self.settings.extra.get('realm')}/protocol/openid-connect/token\"\n\n    def get_jwks_url(self) -> str:\n        return f\"{self._oauth2_base_url()}/realms/{self.settings.extra.get('realm')}/protocol/openid-connect/certs\"\n\n    def get_issuer(self) -> str:\n        return f\"{self._oauth2_base_url()}/realms/{self.settings.extra.get('realm')}\"\n\n    def get_audience(self) -> str:\n        return self.settings.audience or \"no-audience-provided\"\n\n    def get_client_id(self) -> str:\n        if self.settings.client_id is None:\n            raise ValueError(\n                \"Client ID is required. Please set it in the configuration.\"\n            )\n        return self.settings.client_id\n\n    def get_required_fields(self) -> list[str]:\n        return [\"realm\"]\n\n    def _oauth2_base_url(self) -> str:\n        domain = self.settings.domain.removeprefix(\"https://\").removeprefix(\"http://\")\n        return f\"https://{domain}\"\n","sourceCodeStart":10,"sourceCodeEnd":39,"githubUrl":"https://github.com/crewAIInc/crewAI/blob/754d7323beb2fd042e33444a115ea2d5a47193f0/lib/crewai-core/src/crewai_core/auth/providers/keycloak.py#L10-L39","documentation":"Error \"Client ID is required. Please set it in the configuration.\" thrown in crewAIInc/crewAI.","triggerScenarios":"Thrown at lib/crewai-core/src/crewai_core/auth/providers/keycloak.py:28 when the library encounters an invalid state.","commonSituations":"Occurs when the Keycloak provider configuration is missing the client ID. Set the client ID in the configuration before initializing the provider.","solutions":["Set the client ID in your Keycloak provider configuration.","Verify the client exists in your Keycloak realm and use its client ID."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"754d7323beb2fd042e33444a115ea2d5a47193f0","analyzedAt":"2026-08-15T04:06:56.746Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}