Summary
The DeactivatedWorkspaceModal React component on chatgpt.com crashes with a blank white page when a Business workspace is deactivated due to a voided invoice. A blanket HTTP 402 ({"code":"deactivated_workspace"}) blocks every /backend-api/* endpoint — including the reactivation and payment endpoints themselves. The owner cannot reactivate, cannot pay, and cannot access any workspace data. Support has been unresponsive for 5+ days.
Support Case: #07076415 (opened March 22, 2026)
Second Case: #07226945 (auto-generated, no human response)
Uploaded thread: 019d4183-8ae1-7e53-b923-e7fd69b0dff6
Account Details
- Email: cgray@amblackbird.com
- Workspace: WOLF Workspace
- Account ID: 93f04d97-ce1b-43fd-818a-5ba9a0b08971
- Organization ID: org-VgxmX0bCt9QFMs6qlLlTt1iO
- User ID: user-Ap96z0M2lkKLgm1F0bixdvpz
- Plan: ChatGPT Business (team), per seat
- Payment: Visa ending in 9198 (default, active on Stripe at pay.openai.com)
Steps to Reproduce
- Log into chatgpt.com with cgray@amblackbird.com
- Browser redirects to
chatgpt.com/workspace/deactivated
- Page renders completely blank — no modal, no buttons, no options
- Console error:
Error: Current account is undefined in DeactivatedWorkspaceModal
Root Cause (Source Code Analysis)
I reverse-engineered the DeactivatedWorkspaceModal component (route_deactivated.js / 96abb852-nxc925ntmipgn7m1.js):
- The
ve() function calls /backend-api/accounts/check to get account data
- This endpoint returns HTTP 402
{"detail":{"code":"deactivated_workspace"}}
- Without account data,
ve() returns null
- The component fires
Error("Current account is undefined in DeactivatedWorkspaceModal") and renders nothing
The modal has TWO reactivation buttons in the code ("Purchase subscription" and "Manage subscription") that require eligibleForReactivation from the account data. Since the 402 blocks the data, neither button can render.
The Circular Trap
Every /backend-api/* endpoint returns 402, including:
| Endpoint |
Purpose |
Status |
/backend-api/accounts/check |
Account data for modal |
402 |
/backend-api/payments/checkout |
Payment processing |
402 |
/backend-api/accounts/reactivate |
Reactivation |
402 |
/backend-api/workspace/reactivate |
Reactivation |
402 |
/backend-api/me |
User profile |
402 |
/backend-api/conversations |
Chat history |
402 |
/backend-api/user_system_messages |
AI memories |
402 |
The system that is supposed to allow reactivation is itself blocked by the deactivation. The owner cannot pay because the payment endpoint is blocked. The owner cannot reactivate because the reactivation endpoint is blocked.
Proof: The UI Works When 402s Are Removed
Using Chrome DevTools Protocol (standard browser debugging), I intercepted the 402 responses in my own browser and provided mock account data. Results:
- With
is_deactivated: true + eligible_for_reactivation: true + has_active_subscription: false → "Purchase subscription" button rendered successfully
- With
has_active_subscription: true → "Manage subscription" button rendered successfully
- The workspace name "WOLF Workspace" and owner name "Christopher Gray" displayed correctly
- The modal is fully functional — the ONLY problem is the blanket 402
Screenshots of the rendered modal are available.
Stripe Billing Portal
Accessing /account/manage redirects to pay.openai.com (Stripe billing portal). The portal shows:
- Visa 9198 set as default payment method
- All invoices through February 2026 marked "Paid"
- No March invoice exists — it was voided, not left open
- No "Resubscribe" or "Reactivate" option — OpenAI has not enabled this in their Stripe portal configuration
The Stripe portal source code (stripe_customer_portal.js) confirms the reactivation endpoint exists (/v1/billing_portal/sessions/:session/subscriptions/:subscription/reactivate) but OpenAI has not enabled it.
Mobile App Partial Success
On the iOS ChatGPT app, I reached a reactivation screen with a working "Reactivate" button. Pressing it showed "Processing..." but the process never completed. This proves the reactivation flow exists but is broken.
Mobile error trace IDs:
- Request/Correlation ID:
c25a877a-d225-4785-90db-dadfd7e49445
- Cloudflare Ray ID:
9e41bc204b9facd7-EWR (Newark, NJ edge)
Support Timeline
| Date |
Action |
Response |
| Mar 19 |
Workspace deactivated, invoice voided |
Blank page |
| Mar 22 |
Support case #07076415 opened |
- |
| Mar 24 |
AI auto-response received |
Escalated to specialist |
| Mar 25 |
Jay-Ryan responded with boilerplate steps |
Clear cache, incognito |
| Mar 25 |
Reported steps don't work, requested internal fix |
- |
| Mar 26 |
Follow-up email |
No response |
| Mar 28 |
Email to ar@openai.com |
No response |
| Mar 28 |
LinkedIn post tagging OpenAI engineers |
No response |
| Mar 28 |
OpenAI Community Forum post |
Auto-closed after 24h |
| Mar 29 |
Full escalation email with technical evidence |
AI auto-response only |
| Mar 29 |
Source code analysis + CDP interceptor proof |
- |
| Mar 30 |
This issue filed |
5+ days without human response |
What is Needed
- Remove the blanket 402 on this account so the DeactivatedWorkspaceModal can render and the owner can use the built-in reactivation flow
- OR generate a new invoice so the owner can pay through Stripe
- OR manually reactivate account
93f04d97-ce1b-43fd-818a-5ba9a0b08971
The 30-day data retention window is closing. The owner has the money, the card is on file, and the system will not accept payment.
Environment
- Browser: Chrome 145.0.7632.116 (Linux x86_64)
- OS: Ubuntu Linux (Dell PowerEdge R730xd)
- Mobile: iOS ChatGPT app (latest)
- Account type: ChatGPT Business (team)
- Deactivation date: ~March 19, 2026
Summary
The
DeactivatedWorkspaceModalReact component on chatgpt.com crashes with a blank white page when a Business workspace is deactivated due to a voided invoice. A blanket HTTP 402 ({"code":"deactivated_workspace"}) blocks every/backend-api/*endpoint — including the reactivation and payment endpoints themselves. The owner cannot reactivate, cannot pay, and cannot access any workspace data. Support has been unresponsive for 5+ days.Support Case: #07076415 (opened March 22, 2026)
Second Case: #07226945 (auto-generated, no human response)
Uploaded thread: 019d4183-8ae1-7e53-b923-e7fd69b0dff6
Account Details
Steps to Reproduce
chatgpt.com/workspace/deactivatedError: Current account is undefined in DeactivatedWorkspaceModalRoot Cause (Source Code Analysis)
I reverse-engineered the
DeactivatedWorkspaceModalcomponent (route_deactivated.js/96abb852-nxc925ntmipgn7m1.js):ve()function calls/backend-api/accounts/checkto get account data{"detail":{"code":"deactivated_workspace"}}ve()returnsnullError("Current account is undefined in DeactivatedWorkspaceModal")and renders nothingThe modal has TWO reactivation buttons in the code ("Purchase subscription" and "Manage subscription") that require
eligibleForReactivationfrom the account data. Since the 402 blocks the data, neither button can render.The Circular Trap
Every
/backend-api/*endpoint returns 402, including:/backend-api/accounts/check/backend-api/payments/checkout/backend-api/accounts/reactivate/backend-api/workspace/reactivate/backend-api/me/backend-api/conversations/backend-api/user_system_messagesThe system that is supposed to allow reactivation is itself blocked by the deactivation. The owner cannot pay because the payment endpoint is blocked. The owner cannot reactivate because the reactivation endpoint is blocked.
Proof: The UI Works When 402s Are Removed
Using Chrome DevTools Protocol (standard browser debugging), I intercepted the 402 responses in my own browser and provided mock account data. Results:
is_deactivated: true+eligible_for_reactivation: true+has_active_subscription: false→ "Purchase subscription" button rendered successfullyhas_active_subscription: true→ "Manage subscription" button rendered successfullyScreenshots of the rendered modal are available.
Stripe Billing Portal
Accessing
/account/manageredirects topay.openai.com(Stripe billing portal). The portal shows:The Stripe portal source code (
stripe_customer_portal.js) confirms the reactivation endpoint exists (/v1/billing_portal/sessions/:session/subscriptions/:subscription/reactivate) but OpenAI has not enabled it.Mobile App Partial Success
On the iOS ChatGPT app, I reached a reactivation screen with a working "Reactivate" button. Pressing it showed "Processing..." but the process never completed. This proves the reactivation flow exists but is broken.
Mobile error trace IDs:
c25a877a-d225-4785-90db-dadfd7e494459e41bc204b9facd7-EWR(Newark, NJ edge)Support Timeline
What is Needed
93f04d97-ce1b-43fd-818a-5ba9a0b08971The 30-day data retention window is closing. The owner has the money, the card is on file, and the system will not accept payment.
Environment