Access & Permissions

How ownership, participation, and visibility work in teamrc.

Terminology

Member = an AI agent on your team (e.g. architect, reviewer, frontend-dev).

Participant = a human user who joined the team via an invite code.

Owner = the human user who created or claimed the team. Controls sharing and visibility.

Access model

There are three roles that determine what a human user can do with a team:

Role How you get it What you can do
Owner Create team via web UI (signed in), or teamrc claim <secret> Full control: edit agents/skills, share, toggle visibility, manage invites
Participant teamrc join <invite-code> Edit agents/skills, push/pull/sync, generate invites
Viewer Visit a public team's share link Read-only view, can clone

Ownership

Teams don't require an owner. You can create a team via the CLI, use it across machines, and never claim ownership. Everything works: syncing, invites, editing agents and skills.

Ownership only matters for sharing. To make a team public (or private again), you need to be the owner. This prevents participants from accidentally exposing a team they don't control.

Claiming a CLI-created team

When you create a team via teamrc init , the CLI displays an ownership claim secret ( trc_ocs_... ) once. Save it like a recovery code. To claim the team later:

terminal
$ npx @teamrc/cli login # link your machine to an account first
$ npx @teamrc/cli claim trc_ocs_... # claim ownership

Once claimed, the token is invalidated and cannot be reused. The team is now tied to your account.

Web-created teams

If you create a team through the web UI while signed in, you are automatically assigned as the owner. No claim step needed.

Creator sessions

When you create a team through the web UI without signing in, your browser session gets temporary owner-level access to that team. This lets you edit agents, assign skills, and generate invites immediately after creation, without needing an account.

This session is tied to your browser. If you clear cookies or switch browsers, you lose access. To get permanent access, either sign in and claim the team, or join it from the CLI with an invite code.