> ## Documentation Index
> Fetch the complete documentation index at: https://docs.timetracker.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Change someone's role

> Move a teammate to a different role in TimeTracker, change the role on a pending invite, and transfer workspace ownership safely.

Open the person's record, go to **Profile**, and pick a new role from the **Role** dropdown. The change applies immediately.

You can also change the role on an invite that has not been accepted yet.

## Change the role of a member

<Steps>
  <Step title="Open the roster">
    Go to **Settings → Team Members**.
  </Step>

  <Step title="Open their record">
    Click their name, or choose **Open record** from the three-dot menu.
  </Step>

  <Step title="Pick a new role">
    On the **Profile** tab, use the **Role** dropdown.
  </Step>

  <Step title="Save">
    Click **Save** on the Profile card.
  </Step>
</Steps>

There is no confirmation modal for a role change. It takes effect straight away, and what the person can do changes on their next screen.

<Note>
  If the dropdown is disabled you see the note `Only a workspace admin can change someone's role.` You need `member.changeRole`.
</Note>

## Change the role on a pending invite

You do not have to revoke and re-send.

<Steps>
  <Step title="Find the invite">
    On the roster, find the row with status **Pending**.
  </Step>

  <Step title="Open the three-dot menu">
    Choose **Change role**.
  </Step>

  <Step title="Pick the new role">
    The dialog is titled **Change role for {email}**, with the helper `They'll get this role when they accept. Their invite link keeps working.`
  </Step>
</Steps>

The invite link is unchanged. The recipient gets the new role when they accept.

<Note>
  **Change role** is disabled on a client invite. A portal contact's role is fixed.
</Note>

## Which roles you can choose

| Role                | On a member record                  | On a pending invite |
| ------------------- | ----------------------------------- | ------------------- |
| **Admin**           | Yes                                 | Yes                 |
| **Project Manager** | Yes                                 | Yes                 |
| **Finance**         | Yes                                 | Yes                 |
| **Member**          | Yes                                 | Yes                 |
| **Contractor**      | Yes                                 | Yes                 |
| A custom role       | Yes                                 | Yes                 |
| **Owner**           | Only an existing owner can grant it | No                  |
| **Client**          | No                                  | No                  |

The **Client** role is never in the dropdown. A portal contact is created by a client invite from a client record, and cannot be created any other way. The server says so: `Forbidden: the client role is assigned through a client invite, not here`.

## The rules that protect you

<Warning>
  **A workspace always needs one owner.** You cannot move the last owner out of the owner role. The message is `A workspace always needs one owner. Make someone else an owner first, then change this role.`
</Warning>

| Rule                                              | Message you see                                                                                |
| ------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Only an owner may grant or change an owner's role | `Forbidden: only an owner may grant or change an owner's role`                                 |
| The Client role cannot be set here                | `Forbidden: the client role is assigned through a client invite, not here`                     |
| The last owner cannot be moved                    | `A workspace always needs one owner. Make someone else an owner first, then change this role.` |
| You need the capability                           | `Forbidden: member.changeRole`                                                                 |

## Transferring ownership

Owner is not granted from the role dropdown. It moves through a dedicated card, and only the current owner sees it.

<Steps>
  <Step title="Open the new owner's record">
    Go to **Settings → Team Members** and click their name.
  </Step>

  <Step title="Find Transfer ownership">
    On the **Profile** tab, below **Access**. It is described as `Hand this workspace to this person. You stay a member, as an admin.`
  </Step>

  <Step title="Read what changes">
    `They become the owner and you become an admin – you keep your work and your history, and lose only what is owner-only: deleting the workspace, and granting ownership. You cannot reverse this yourself – only the new owner can hand it back.`
  </Step>

  <Step title="Click Transfer ownership">
    A confirmation dialog opens: **Transfer ownership?** – `{name} becomes the owner of this workspace and you become an admin. You cannot undo this yourself – only they can hand it back.`
  </Step>

  <Step title="Type their name to confirm">
    You must type the person's name to enable the button. There is a copy control for it.
  </Step>
</Steps>

<Warning>
  Transferring ownership cannot be undone by you. Only the new owner can hand it back.
</Warning>

The button is disabled, with an explanation, when the person cannot take ownership:

| Reason                    | Message                                                                                 |
| ------------------------- | --------------------------------------------------------------------------------------- |
| They are a client contact | `Client contacts can't own a workspace – they only see the portal.`                     |
| They are deactivated      | `They're deactivated, so they can't take ownership. Switch their access back on first.` |
| They have never signed in | `They've never signed in, so they can't take ownership yet.`                            |

## What Owner and Admin differ on

Owner is Admin plus one thing: deleting the workspace.

| Role      | Everything an Admin can do | Delete the workspace | Grant ownership |
| --------- | -------------------------- | -------------------- | --------------- |
| **Owner** | Yes                        | Yes                  | Yes             |
| **Admin** | Yes                        | No                   | No              |

Managing the plan and payment method is held by Owner and Admin, and not by Finance.

## Example

Priya Raman is promoted from Project Manager to Admin at Northwind Studio.

<Steps>
  <Step title="Maya opens Priya's record">
    **Settings → Team Members → Priya Raman**.
  </Step>

  <Step title="Changes the role">
    On the **Profile** tab, Maya sets **Role** to **Admin** and clicks **Save**.
  </Step>

  <Step title="What changes for Priya">
    Priya keeps everything she had and gains member management, workspace settings, rate management, plan and billing, and the rest of the Admin set. She still cannot delete the workspace.
  </Step>
</Steps>

Later Maya steps back from the business. She opens Tom Whitfield's record, uses **Transfer ownership**, types `Tom Whitfield` to confirm, and becomes an Admin herself.

## What happens after a role change

| Effect                   | Detail                            |
| ------------------------ | --------------------------------- |
| Permissions              | Change immediately                |
| Tracked time             | Untouched                         |
| Timesheets and approvals | Untouched                         |
| Tasks and assignments    | Untouched                         |
| Groups and rates         | Untouched                         |
| Seats                    | No change – it is the same person |
| Audit history            | The change is recorded            |

<Warning>
  Moving someone to a narrower role can strand work. A Project Manager who was the only approver for a group should not be moved down before someone else can approve, or submitted timesheets will have nobody to review them.
</Warning>

## Permissions

| Action                         | Capability          | Roles that hold it by default |
| ------------------------------ | ------------------- | ----------------------------- |
| Change a member's role         | `member.changeRole` | Owner, Admin                  |
| Change a pending invite's role | `member.invite`     | Owner, Admin, Project Manager |
| Grant or change an owner       | Owner only          | Owner                         |

## Common questions

<AccordionGroup>
  <Accordion title="Can I change my own role?">
    Yes, apart from the owner guards. If you are the last owner you cannot move yourself out of the owner role.
  </Accordion>

  <Accordion title="Can there be two owners?">
    Ownership transfers from one person to another – the outgoing owner becomes an admin. There is always exactly one owner.
  </Accordion>

  <Accordion title="Does changing a role delete anything?">
    No. Time, timesheets, tasks, rates and groups are all untouched.
  </Accordion>

  <Accordion title="Can I set someone to Client?">
    No. Portal contacts are created by a client invite from the client's record.
  </Accordion>

  <Accordion title="Can I assign a custom role?">
    Yes. Custom roles appear in the dropdown alongside the built-in ones, and can be used on invites too.
  </Accordion>

  <Accordion title="Is a role change confirmed with a modal?">
    No. It applies straight away. Transferring ownership is the one exception, and that needs you to type the person's name.
  </Accordion>
</AccordionGroup>

## Troubleshooting

| Problem                                                                             | Cause                                              | Fix                                                 |
| ----------------------------------------------------------------------------------- | -------------------------------------------------- | --------------------------------------------------- |
| The role dropdown is disabled                                                       | You lack `member.changeRole`                       | Ask an owner or admin                               |
| `Couldn't update this profile. You may lack permission, or this is the last owner.` | Missing capability, or the last-owner guard        | Make someone else an owner first                    |
| Owner is not in the list                                                            | Only an existing owner can grant it                | Ask the owner to transfer ownership                 |
| **Transfer ownership** is disabled                                                  | They are a client, deactivated, or never signed in | Fix the stated reason first                         |
| **Change role** is greyed out on an invite                                          | It is a client invite                              | Revoke it and invite from the client record instead |

## Related guides

<CardGroup cols={2}>
  <Card title="Roles and capabilities" icon="shield" href="/concepts/roles-and-capabilities">
    What each role can do.
  </Card>

  <Card title="Custom roles" icon="sliders" href="/team/custom-roles">
    Build your own role.
  </Card>

  <Card title="Member record" icon="id-card" href="/team/member-record">
    Where the role lives.
  </Card>

  <Card title="Per-person permissions" icon="user-cog" href="/team/per-person-permissions">
    Exceptions on top of a role.
  </Card>

  <Card title="Pending invitations" icon="mail" href="/team/pending-invitations">
    Change a role before someone joins.
  </Card>

  <Card title="Roles and permissions matrix" icon="table" href="/reference/roles-and-permissions-matrix">
    The full comparison.
  </Card>
</CardGroup>
