crewAIInc/crewAI · error · ValueError

Deployment status response did not include a uuid

Error message

Deployment status response did not include a uuid

What it means

Raised in __init__ when cluster.bucket(self.bucket_name) / bucket.scope(...) / scope.collection(...) throws any exception while COUCHBASE_AVAILABLE is true. The original exception is chained (`from e`) but the message is generic, so the real cause — auth failure, wrong connection string, bucket not found, network unreachable — is hidden in the chained exception.

Source

Thrown at lib/cli/src/crewai_cli/deploy/main.py:344

            )
        else:
            self._standard_no_param_error_message()
            return

        self._validate_response(response)
        self._display_deployment_info(response.json())

    def _deployment_uuid_by_name(self) -> str:
        """Resolve the current project's deployment UUID by project name."""
        if not self.project_name:
            raise ValueError("project_name is required to find a deployment")

        response = self.plus_api_client.crew_status_by_name(self.project_name)
        self._validate_response(response)
        json_response = response.json()
        uuid = json_response.get("uuid")
        if not uuid:
            raise ValueError("Deployment status response did not include a uuid")
        return str(uuid)

    def create_crew(
        self,
        confirm: bool = False,
        skip_validate: bool = False,
        source: DeploySource = "cli",
    ) -> None:
        """
        Create a new crew deployment.

        Args:
            confirm (bool): Whether to skip the interactive confirmation prompt.
            skip_validate (bool): Skip pre-deploy validation checks.
            source (DeploySource): Where the deployment was initiated from.
        """
        if not _prepare_project_for_deploy(skip_validate):
            return

View on GitHub (pinned to 754d7323be)

Solutions

  1. Inspect the chained exception (`raise ... from e` — catch and print e.__cause__) to see the real couchbase error (AuthenticationFailure, BucketNotFound, timeouts).
  2. Verify credentials and connection string with a minimal SDK snippet outside the tool.
  3. Confirm the bucket exists and the user has a role granting access to it.
  4. For Capella, use the correct couchbases:// string and TLS-enabled authenticator.

Example fix

# before
tool = CouchbaseFTSVectorSearchTool(bucket_name='travel', ...)  # ValueError: Error connecting to couchbase...
# after
try:
    tool = CouchbaseFTSVectorSearchTool(bucket_name='travel', ...)
except ValueError as e:
    raise RuntimeError(f'couchbase init failed: {e.__cause__}') from e  # surfaces the real cause
Defensive patterns

Strategy: try-catch

Validate before calling

from couchbase.cluster import Cluster
from couchbase.auth import PasswordAuthenticator
from couchbase.options import ClusterOptions
cluster = Cluster(conn_str, ClusterOptions(PasswordAuthenticator(user, password)))
cluster.wait_until_ready(timedelta(seconds=5))  # fails here with the REAL error if connection is bad
cluster.bucket(bucket_name)  # also fails fast if bucket is missing

Try / catch

try:
    tool = CouchbaseFTSVectorSearchTool(...)
except ValueError as e:
    cause = e.__cause__  # original couchbase exception carries the real reason
    raise RuntimeError(f"couchbase init failed: {cause!r}") from e

Prevention

When it happens

Trigger: Wrong username/password (auth error), cluster_string pointing at a host/port that is unreachable, bucket_name not existing on the cluster, or TLS settings mismatch — anything that makes the three bucket/scope/collection calls fail.

Common situations: Expired/rotated Couchbase credentials, Capella connection string with wrong TLS mode, firewall/SG blocking port 11210, bucket dropped, or a connection string typo.

Related errors


AI-assisted analysis of crewAIInc/crewAI@754d7323be (2026-08-15). Data as JSON: /api/errors/b49f6f9efb5a2d9f. Report an issue: GitHub.