pulumi/pulumi · error
%s is an individual account, not an organization.Organizatio
Error message
%s is an individual account, not an organization.Organization search is not supported for individual accounts
What it means
Pulumi AI natural-language search only supports organization scopes, not personal (individual) accounts. After resolving the effective org (default org, then --org, then the username as fallback), the command rejects the case where the effective org equals the username, since that means no real organization was selected.
Source
Thrown at pkg/cmd/pulumi/org/org_search_ai.go:84
if !isCloud {
return errors.New("Pulumi AI search is only supported for the Pulumi Cloud")
}
defaultOrg, err := cloudBackend.GetDefaultOrg(ctx)
if err != nil {
return err
}
userName, orgs, _, err := cloudBackend.CurrentUser()
if err != nil {
return err
}
if defaultOrg != "" && cmd.orgName == "" {
cmd.orgName = defaultOrg
}
if cmd.orgName == "" {
cmd.orgName = userName
}
if cmd.orgName == userName {
return fmt.Errorf(
"%s is an individual account, not an organization."+
"Organization search is not supported for individual accounts",
userName,
)
}
if !slices.Contains(orgs, cmd.orgName) && cmd.orgName != "" {
return fmt.Errorf("user %s is not a member of org %s", userName, cmd.orgName)
}
res, err := cloudBackend.NaturalLanguageSearch(ctx, cmd.orgName, cmd.queryString)
if err != nil {
return err
}
err = cmd.outputFormat.Get()(&cmd.searchCmd, res)
if err != nil {
// Stderr is not threaded through this helper; defer to process stderr.
fmt.Fprintf(os.Stderr, "rendering error: %s\n", err) //nolint:forbidigo
}View on GitHub (pinned to 793f7b2e16)
Solutions
- Pass an explicit org you belong to: --org <organization-slug>
- Set a default organization with `pulumi org set default <org>`
- Create or join a Pulumi organization, since individual-account search is unsupported
- Use non-AI `pulumi org search` which supports the personal scope
Example fix
// before pulumi org search ai -q "all ec2 instances" // error: jane is an individual account, not an organization.... // after pulumi org search ai --org acme -q "all ec2 instances"
Defensive patterns
Strategy: validation
Validate before calling
// resolve an org scope before invoking AI search
user, orgs, _, _ := cloudBackend.CurrentUser()
defaultOrg, _ := cloudBackend.GetDefaultOrg(ctx)
org := flagOrg
if org == "" { org = defaultOrg }
if org == "" || org == user {
return errors.New("AI search needs an organization; pass --org or set a default org")
} Try / catch
if err := runSearchAI(org, q); err != nil && strings.Contains(err.Error(), "individual account, not an organization") {
return fmt.Errorf("usage: pulumi org search ai --org <organization-slug> -q %q", q)
} Prevention
- Always pass --org with an organization you belong to
- Set a default org with `pulumi org set default <org>`
- Use non-AI `pulumi org search` when scoped to a personal account
When it happens
Trigger: Running `pulumi org search ai -q "..."` without --org while the user has no default organization set (GetDefaultOrg returns empty), so cmd.orgName falls back to userName and the equality check `cmd.orgName == userName` fails.
Common situations: Individual Pulumi accounts with no org; users who never set a default org (`pulumi org set default`); running in a fresh environment where the account belongs to no organization.
Related errors
- Pulumi AI search is only supported for the Pulumi Cloud
- user %s is not a member of org %s
- stack name must not be empty
- organization name must be 'organization'
- no Pulumi.yaml project file found; either run this command f
AI-assisted analysis of pulumi/pulumi@793f7b2e16 (2026-08-31).
Data as JSON: /api/errors/d5f1e31ba8daf753.
Report an issue: GitHub.