plandex-ai/plandex · error
error getting org session: %v
Error message
error getting org session: %v
What it means
RefreshAuth calls apiClient.GetOrgSession() to fetch the current org's session data (name, trial status, integrated-models mode). If the server returns an ApiError it is wrapped as this error. It indicates the org session could not be retrieved with the current token/org.
Source
Thrown at app/cli/auth/auth.go:122
if host == "" {
host = "Plandex Cloud"
}
term.OutputErrorAndExit("Account %s not found on %s", Current.Email, host)
}
return nil
}
func RefreshAuth() error {
if Current == nil {
return fmt.Errorf("error refreshing auth: auth not loaded")
}
org, apiErr := apiClient.GetOrgSession()
if apiErr != nil {
return fmt.Errorf("error getting org session: %v", apiErr.Msg)
}
Current.OrgName = org.Name
Current.OrgIsTrial = org.IsTrial
Current.IntegratedModelsMode = org.IntegratedModelsMode
err := writeCurrentAuth()
if err != nil {
return fmt.Errorf("error writing auth: %v", err)
}
return nil
}
View on GitHub (pinned to e2d772072e)
Solutions
- Run `plandex sign in` (or RefreshInvalidToken path) to obtain a fresh token
- Confirm you still belong to the org; re-select it or list orgs to refresh OrgId
- Check server health if self-hosted (logs, uptime, version compatibility)
- Inspect apiErr.Msg for the upstream status to distinguish auth vs. server issues
Example fix
// before
org, apiErr := apiClient.GetOrgSession() // stale token -> 401
// after
if apiErr != nil && apiErr.Msg == "unauthorized" {
if err := auth.RefreshInvalidToken(); err != nil { term.OutputErrorAndExit("%v", err) }
org, apiErr = apiClient.GetOrgSession()
} Defensive patterns
Strategy: retry
Validate before calling
if auth.Current == nil || auth.Current.OrgId == "" {
return fmt.Errorf("no org selected; run sign-in and choose an org")
} Type guard
func orgSessionReady() bool { return auth.Current != nil && auth.Current.OrgId != "" && auth.Current.Token != "" } Try / catch
if _, err := auth.RefreshAuth(); err != nil {
if strings.Contains(err.Error(), "getting org session") {
// token may be expired: refresh token first, then retry once
if rerr := auth.RefreshInvalidToken(); rerr == nil {
_, err = auth.RefreshAuth()
}
}
if err != nil { term.OutputErrorAndExit("%v", err) }
} Prevention
- Re-sign-in when the stored token is old
- Confirm org membership didn't change server-side
- Check server status/logs for 5xx before blaming the client
- Keep CLI and self-hosted server versions compatible
When it happens
Trigger: Any ApiError from GetOrgSession: 401/403 after token expiry or org removal, 404 for a stale OrgId, 5xx server failure, or network failure surfaced as an ApiError.
Common situations: Expired or revoked token; user removed from the org or org deleted server-side; self-hosted server out of sync with stored OrgId; server-side maintenance/5xx responses.
Related errors
- error listing orgs: %v
- error getting org session: %v
- error signing in: %v
- error creating account: %v
- error creating email verification: %v
AI-assisted analysis of plandex-ai/plandex@e2d772072e (2026-09-05).
Data as JSON: /api/errors/e54e5a9b194dbcbe.
Report an issue: GitHub.