langgenius/dify · error · ProviderModelCurrentlyNotSupportError

model_currently_not_support

model_currently_not_support

Error message

Dify Hosted OpenAI trial currently not support the GPT-4 model.

What it means

HTTP 400 (code=model_currently_not_support) raised in _get_message_suggested_questions (message.py:527) when the LLM call throws ModelCurrentlyNotSupportError. The Dify hosted OpenAI trial forbids GPT-4 family models, and suggested-questions generation uses the tenant default model; if that default is a GPT-4 model on trial, this fires. Catch maps to ProviderModelCurrentlyNotSupportError.

Source

Thrown at api/controllers/console/app/message.py:527

    try:
        questions = MessageService.get_suggested_questions_after_answer(
            app_model=app_model,
            message_id=message_id_str,
            user=current_user,
            invoke_from=InvokeFrom.DEBUGGER,
            session=session,
        )
    except MessageNotExistsError:
        raise NotFound("Message not found")
    except ConversationNotExistsError:
        raise NotFound("Conversation not found")
    except ProviderTokenNotInitError as ex:
        raise ProviderNotInitializeError(ex.description)
    except QuotaExceededError:
        raise ProviderQuotaExceededError()
    except ModelCurrentlyNotSupportError:
        raise ProviderModelCurrentlyNotSupportError()
    except InvokeError as e:
        raise CompletionRequestError(e.description)
    except SuggestedQuestionsAfterAnswerDisabledError:
        raise AppSuggestedQuestionsAfterAnswerDisabledError()
    except Exception:
        logger.exception("internal server error.")
        raise InternalServerError()

    return dump_response(SuggestedQuestionsResponse, {"data": questions})


def _get_message_detail(*, session: Session, app_model: App, message_id: UUID):
    message_id_str = str(message_id)

    message = session.scalar(
        select(Message).where(Message.id == message_id_str, Message.app_id == app_model.id).limit(1)
    )

View on GitHub (pinned to ef8544b173)

Solutions

  1. Set the tenant default model to a trial-allowed model (e.g. gpt-3.5-turbo) in Settings -> Model Provider.
  2. Add your own OpenAI API key to unlock GPT-4 via the suggestions path.
  3. Disable suggested-questions-after-answer until the model situation is resolved.
Defensive patterns

Strategy: validation

Validate before calling

function defaultModelTrialSafe(defaultModel, hasOwnKey) {
  if (hasOwnKey) return true;
  return !/^gpt-4/i.test(defaultModel);
}
if (!defaultModelTrialSafe(tenantDefaultModel, tenantHasOwnKey)) {
  // block suggested-questions, prompt to change default model or add key
}

Type guard

function isGpt4Family(model: string): boolean { return /^gpt-4/i.test(model); }

Try / catch

try {
  await getSuggestedQuestions(appId, msgId);
} catch (e) {
  if (e.code === 'model_currently_not_support') {
    // suggest changing tenant default model or adding own OpenAI key
  } else throw e;
}

Prevention

When it happens

Trigger: GET /console/api/apps/<app_id>/message/<message_id>/suggested-questions while the tenant default model is a GPT-4 family model and the tenant is on the hosted OpenAI trial (no own credentials).

Common situations: Tenant changed default model to gpt-4 without adding own key; new workspace inherited a GPT-4 default; trial users exploring suggestion features.

Related errors


AI-assisted analysis of langgenius/dify@ef8544b173 (2026-08-12). Data as JSON: /api/errors/a0ed714308c23ee9. Report an issue: GitHub.