You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Users created in the wrong organization (e.g., accidentally assigned to System instead of their intended org) cannot be moved. The only workaround is deleting and recreating the user, which loses all their data. With #249 (org creation without admin + promote/demote), the multi-org flow is almost complete — but there's no way to fix an incorrect org assignment after user creation.
There's also no way to add an existing user to an empty organization from the Members modal. The natural place people look (Orgs → Members → Add Member) doesn't exist; they must go to Users → Create User and select the target org.
Proposed solution
A Move User feature that allows system admins to transfer a user from one organization to another, with fine-grained control over what moves with them.
Existing migrate_organization_comprehensive() already does the same pattern at the org level — the user-level version is a scoped variant of the same logic.
The DB layer can reuse the same transaction + conflict-resolution patterns.
Move user between orgs — this issue ← the missing piece
Without this, a user created in the wrong org is stuck. The delete-and-recreate workaround loses all their assistants, templates, KBs, libraries, and usage history. That's a real problem for production deployments where users accumulate resources over time.
Problem
Users created in the wrong organization (e.g., accidentally assigned to System instead of their intended org) cannot be moved. The only workaround is deleting and recreating the user, which loses all their data. With
#249(org creation without admin + promote/demote), the multi-org flow is almost complete — but there's no way to fix an incorrect org assignment after user creation.There's also no way to add an existing user to an empty organization from the Members modal. The natural place people look (
Orgs → Members → Add Member) doesn't exist; they must go toUsers → Create Userand select the target org.Proposed solution
A Move User feature that allows system admins to transfer a user from one organization to another, with fine-grained control over what moves with them.
API
Request body:
{ target_organization_slug: repelega, conflict_strategy: rename, migrate_resources: { assistants: true, prompt_templates: true, kb_registry: true, collections: true, libraries: true, lti_activities: true, usage_logs: true } }migrate_resources: per-resource-type toggles (all defaulttrue). Admin can choose what to move.conflict_strategy:rename,skip, orfail. Same as the existing org-level migration (migrate_organization_comprehensive).What gets moved (when selected)
Creator_usersUPDATE organization_idorganization_rolesassistantsUNIQUE(org_id, name, owner){slug}_{name}on conflictprompt_templatesUNIQUE(org_id, owner_email, name)kb_registryCreator_users.idcollectionsUNIQUE(org_id, collection_name)libraries/library_itemsUNIQUE(org_id, name)lti_activitiesusage_logsWhat does NOT need migration
organization_idcolumn, chats follow user naturallyOpenWebUI sync
User is removed from old OWI group and added to new OWI group (
OwiGroupManageralready has the methods).Edge cases
failstrategy → abort whole migration atomicallyskip→ leave that resource in source orgAtomicity
Entire operation runs in a single SQLite transaction. If anything fails, everything rolls back.
UI
In the admin users table or Members modal: a Move User button that opens a modal with:
Implementation notes
migrate_organization_comprehensive()already does the same pattern at the org level — the user-level version is a scoped variant of the same logic.Rationale
This fills the last gap in the organization membership lifecycle:
Without this, a user created in the wrong org is stuck. The delete-and-recreate workaround loses all their assistants, templates, KBs, libraries, and usage history. That's a real problem for production deployments where users accumulate resources over time.