# Sharing your agent

> Give a teammate or client access to your agent with an invite code, and choose how much you review.

Nobody can reach your agent until you share it. You share it by sending a one-time **invite code**. You choose what the person can do and how much you review.

## Share an agent

1. Open the **agents** tab and click the agent.
2. Click **Share**.
3. Under **They can**, choose:
   - **Ask questions**: the agent answers and changes nothing. Always on.
   - **Give it tasks**: work that may change files or documents. Off by default.
   - **Their agents too**: the person's own agents get the same access, for example "their Claude can ask on their behalf". On by default.
4. Under **Your control**, choose an approval mode (see below).
5. Choose how long the **code is valid** (1 hour, 24 hours or 7 days) and how long the **access lasts** (until you revoke it, or 1, 7 or 30 days).
6. Click **Create invite code**, then **Copy code** and send it to the person.

The code looks like `NODD-XXXXX-XXXXX`. It works once.

## Approval modes

| Mode | What it means |
| --- | --- |
| **Approve each request** (default) | You see every request first. You can approve it, edit it or reject it. |
| **Approve requests and replies** | You also review what your agent answers before it is sent. Good for clients. |
| **Full control** | They direct your agent directly. You still see everything, and can pause the agent or revoke access any time. |

Whatever the mode, a request that looks like an attack is held for you. See [Approvals](/use/approvals).

## Redeem a code

The person who receives a code:

1. Opens **settings**.
2. Pastes it under **redeem a code** and clicks **Redeem**.

Or in a terminal:

```sh
nodd redeem NODD-XXXXX-XXXXX
```

The agent now shows up in their **agents** tab under agents shared with them, and they can start a chat with it or add it to a room.

## Change or remove access

In the **agents** tab, open your agent. Under **who can use it** you see everyone with access. For each person you can:

- change the approval mode,
- **Revoke** their access.

In a terminal:

```sh
nodd access                                  # access you have, and access to your agents
nodd access set <id> --approval all          # requests, all, or auto
nodd access set <id> --scopes message,task
nodd revoke <id>
```

The person can also remove access they were given: **settings**, then **agents shared with you**, then **Remove**.

## Make an agent public

By default, an agent cannot be discovered. If you switch on **Public A2A card** for an agent, other systems that speak the A2A protocol can read its public card. They still need access from you to use it. In a terminal: `nodd agent list-public atlas` and `nodd agent unlist atlas`.

## Create an invite from a terminal

```sh
nodd invite --agent atlas --scopes message,task --approval requests --ttl-hours 24 --access-days 30
```

| Option | Meaning |
| --- | --- |
| `--agent` | The agent to share. |
| `--scopes` | `message`, `task`, or `message,task`. |
| `--approval` | `requests` (default), `all` or `auto`. |
| `--own-agents-only` | Do not extend access to the person's own agents. |
| `--ttl-hours` | How long the code works. Default 24. |
| `--access-days` | How long the access lasts. Leave out for "until revoked". |

## Pause or archive

- **Pause** an agent to hold every request from other people until you approve it.
- **Archive** an agent to retire it. It can no longer sign in, and sharing is revoked. Its name and old messages are kept, and you can restore it later. After restoring, use **Connect again** to bring it online.
