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

# Invite a co-teacher

> Share a class with a colleague, and know what they can do once they're in.

export const updated_0 = "19 September 2026"

export const page_0 = "/teachers/classes/co-teachers"

export const label_0 = "Open your dashboard in GradingPal, then pick the class"

export const href_0 = "https://app.gradingpal.ai/teacher"

export const who_0 = "The class owner invites; co-teachers accept"

export const plans_0 = "All plans"

export const where_0 = "Settings > Co-teachers on the class"

<Card title="Who can use this?" icon="user-check">
  * **Who:** {who_0}
  * **Plans:** {plans_0}
  * **Where:** {where_0}
</Card>

### Limits and notes

* A co-teacher can do everything on the class except delete it: grade, share, manage assignments, see the roster.
* Only the owner can remove a co-teacher.
* Uploads a co-teacher makes count against the co-teacher's own monthly limit, and held work they can see is unlocked only by whoever's limit it counts against.

## Invite

<Steps>
  <Step title="Open Co-teachers">
    Open the class, then **Settings > Co-teachers**. The list shows the **Owner** and any **Co-teacher**, with **From Classroom** on anyone who came with a Google Classroom import.
  </Step>

  <Step title="Send the invitation">
    Select **Invite co-teacher**, type their **Email address** and select **Send invite**. The row reads **Invitation pending** and the menu offers **Resend invite**, **Copy invite link** and **Cancel invite**. Resending has a five-minute cooldown.
  </Step>

  <Step title="They accept">
    The email is titled **Teaching invitation:** with the class name. Its link opens a page headed with your name and the class, and a button **Accept invitation**. They must sign in with the address you invited; a different address is refused with **Switch account**.
  </Step>
</Steps>

Co-teachers imported from Google Classroom don't accept anything. They're added when they next sign in, and their email says the class is ready for them.

## The two surprises

* **Held work, no unlock button.** A co-teacher sees held rows and the **Held** pill, but the unlock action belongs to the teacher whose limit it counts against. The grading screen says **Held by the lead teacher**.
* **Sync on the owner's connection.** If a co-teacher syncs the roster from Google Classroom before connecting their own Google account, the sync runs through the owner's connection and the toast says so: "Connect your own Google Classroom to keep this working on its own."

Actions are recorded against whoever did them where it matters: a score override carries the teacher who made it, a submission carries the teacher whose limit it used.

## How to tell it worked

The row loses **Invitation pending** and reads **Co-teacher**. They see the class in their own rail.

## If something goes wrong

<AccordionGroup>
  <Accordion title="They didn't get the email">
    Select **Copy invite link** from the row's menu and send it yourself. Or **Resend invite** after the cooldown.
  </Accordion>

  <Accordion title="It says the invitation has expired">
    Cancel it and invite again.
  </Accordion>

  <Accordion title="They're signed in but the page says the wrong account">
    The invitation is tied to the invited address. They select **Switch account** and sign in with it.
  </Accordion>
</AccordionGroup>

## Related tasks

* [Class settings](/teachers/classes/class-settings)
* [What happens when you hit your limit](/teachers/billing/held-work)
* [Connect Google Classroom](/teachers/google-classroom/connect)

<Card title={label_0} icon="arrow-up-right-from-square" href={href_0} horizontal>
  Opens GradingPal on the screen this page describes.
</Card>

<hr />

<p style={{ fontSize: "0.875rem", opacity: 0.75 }}>Last updated {updated_0}</p>

<p>
  <strong>Was this page helpful?</strong>{" "}
  <a href={"mailto:support@gradingpal.com?subject=" + encodeURIComponent("Help page feedback (helped): " + page_0)}>Yes, this helped</a>

  {" · "}

  <a href={"mailto:support@gradingpal.com?subject=" + encodeURIComponent("Help page feedback (problem): " + page_0) + "&body=" + encodeURIComponent("Which of these fits? Couldn't find the step / Didn't match what I see / Missing information / Out of date / Other\n\nTell us more:\n")}>No, something's wrong</a>
</p>

<p style={{ fontSize: "0.875rem" }}>
  <a href={"mailto:support@gradingpal.com?subject=" + encodeURIComponent("Problem with help page: " + page_0)}>Report a problem with this page</a>
</p>
