n8n - 💡(How to fix) Fix Credential creation form hangs (infinite freeze) for OAuth2 credential types on Community Edition — /rest/external-secrets/secrets 404 blocks CredentialEdit.vue

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Opening the credential creation form for any OAuth2-based credential type freezes the browser tab permanently. The form never loads. Simple API key credential types (e.g. Slack API) are unaffected.

Error Message

Console error

  • error: all

Root Cause

CredentialEdit.vue calls externalSecrets.ee.store during initialization, which fetches /rest/external-secrets/secrets. This endpoint does not exist on Community Edition (returns 404). The promise in the store never resolves or rejects on a 404 response, permanently blocking CredentialEdit.vue:454 and preventing the credential form from rendering.

Fix Action

Fix / Workaround

No workaround found. Intercepting the endpoint at the proxy level to return {"data":{}} does not resolve the freeze, suggesting the unhandled promise rejection occurs before or independently of the response body.

RAW_BUFFERClick to expand / collapse

Bug Description

n8n version: 2.21.6 and 2.21.7 (confirmed on both) Deployment: Self-hosted Docker, Community Edition Browser: Chrome 148, Edge (both affected)

Description

Opening the credential creation form for any OAuth2-based credential type freezes the browser tab permanently. The form never loads. Simple API key credential types (e.g. Slack API) are unaffected.

Console error

GET https://<host>/rest/external-secrets/secrets 404 (Not Found) @ utils2.mjs:74 @ externalSecrets.ee.store.ts:121 @ externalSecrets.ee.store.ts:173 @ externalSecrets.ee.store.ts:209 @ CredentialEdit.vue:454 (Promise.then) @ ui.store.ts:527 @ Modal.vue:121 @ CredentialsSelectModal.vue:51

Root cause

CredentialEdit.vue calls externalSecrets.ee.store during initialization, which fetches /rest/external-secrets/secrets. This endpoint does not exist on Community Edition (returns 404). The promise in the store never resolves or rejects on a 404 response, permanently blocking CredentialEdit.vue:454 and preventing the credential form from rendering.

To Reproduce

  1. Self-hosted n8n Community Edition via Docker
  2. Navigate to Credentials → New Credential
  3. Select any Google OAuth2 credential type (e.g. Google Sheets OAuth2 API)
  4. Browser tab freezes — form never loads

No workaround found. Intercepting the endpoint at the proxy level to return {"data":{}} does not resolve the freeze, suggesting the unhandled promise rejection occurs before or independently of the response body.

Expected behavior

Community Edition should handle the missing EE endpoint gracefully — treat the response as an empty secrets list — and allow the credential creation form to load normally.

Debug Info

Debug info

core

  • n8nVersion: 2.21.6
  • platform: docker (self-hosted)
  • nodeJsVersion: 24.15.0
  • nodeEnv: production
  • database: sqlite
  • executionMode: regular
  • concurrency: -1
  • license: enterprise (production)
  • consumerId: 99c7b718-c522-4074-b745-42fa48497249

storage

  • success: all
  • error: all
  • progress: false
  • manual: true
  • binaryMode: filesystem

pruning

  • enabled: true
  • maxAge: 336 hours
  • maxCount: 10000 executions

client

  • userAgent: mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/148.0.0.0 safari/537.36
  • isTouchDevice: false

cluster

  • instanceCount: 1
  • versions: 2.21.6
  • instances:
    • instanceKey: 3ae328f2-0c70-45f0-bd1b-1bf842073728, hostId: main-2fdff006de11, instanceType: main, instanceRole: leader, version: 2.21.6
  • checks:
    • check: hostid-clash, status: succeeded, warnings: -
    • check: lifecycle, status: succeeded, warnings: -
    • check: split-brain, status: succeeded, warnings: -
    • check: version-mismatch, status: succeeded, warnings: -

Generated at: 2026-05-26T00:42:04.793Z

Operating System

Windows 11

n8n Version

v2.21.6+

Node.js Version

24.15.0

Database

SQLite (default)

Execution mode

main (default)

Hosting

self hosted

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Community Edition should handle the missing EE endpoint gracefully — treat the response as an empty secrets list — and allow the credential creation form to load normally.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING