CLI shows "HTTP 403" with no explanation
gumloop login on a non-Pro account fails with:
I did not know that Gumloop need a pro level account because I had always used my work account. I only piece it together after seeing the error in my vscode debugger and look at the pricing page: https://www.gumloop.com/pricing.
Error: Gumloop API returned HTTP 403

That says nothing about what was refused or how to fix it.
Cause
The server does send a reason, but the client drops it. The response is:
HTTP/2 403
{"error":"tier_required_pro"}
to_api_error only reads a message when the body wraps one in a nested
error object. Here the code stands alone, so the parser falls back to the
generic status line and tier_required_pro is discarded — it stays in
.body, unread. APIStatusError.code is left None for the same reason.
Expected should be:
Error: This account needs the Pro plan or higher. Commands will keep failing
until it is upgraded at https://www.gumloop.com/pricing -- or ask a workspace
admin to upgrade it.
Notes
Best fixed server-side by returning a message alongside the code — then
every client benefits, not just this CLI. Absent that, the CLI can map known
codes to plain language.
Repro Steps:
Gumloop CLI v0.4.7
- gumloop login with an account below Pro
- Complete the OAuth flow
- Observe the bare 403
Full error in my vscode debugger:

CLI shows "HTTP 403" with no explanation
gumloop loginon a non-Pro account fails with:I did not know that Gumloop need a pro level account because I had always used my work account. I only piece it together after seeing the error in my vscode debugger and look at the pricing page: https://www.gumloop.com/pricing.
Error: Gumloop API returned HTTP 403

That says nothing about what was refused or how to fix it.
Cause
The server does send a reason, but the client drops it. The response is:
to_api_error only reads a message when the body wraps one in a nested
error object. Here the code stands alone, so the parser falls back to the
generic status line and tier_required_pro is discarded — it stays in
.body, unread. APIStatusError.code is left None for the same reason.
Expected should be:
Error: This account needs the Pro plan or higher. Commands will keep failing
until it is upgraded at https://www.gumloop.com/pricing -- or ask a workspace
admin to upgrade it.
Notes
Best fixed server-side by returning a message alongside the code — then
every client benefits, not just this CLI. Absent that, the CLI can map known
codes to plain language.
Repro Steps:
Gumloop CLI v0.4.7
Full error in my vscode debugger: