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
- Set the tenant default model to a trial-allowed model (e.g. gpt-3.5-turbo) in Settings -> Model Provider.
- Add your own OpenAI API key to unlock GPT-4 via the suggestions path.
- 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
- Keep the tenant default model trial-safe (non-GPT-4) until own credentials are added.
- Warn when the default model is set to a GPT-4 family model on trial.
- Disable suggested-questions-after-answer if the default model is unsupported.
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
- provider_quota_exceeded
- provider_not_initialize
- model_currently_not_support
- completion_request_error
- app_suggested_questions_after_answer_disabled
AI-assisted analysis of langgenius/dify@ef8544b173 (2026-08-12).
Data as JSON: /api/errors/a0ed714308c23ee9.
Report an issue: GitHub.