<!-- https://zerolog.ch/docs/share · Docs / Connect -->
# Sharing a container

Invite existing ZeroLog users with explicit read-only or read-write access.

## Current availability

Owners on plans with sharing (standard configuration: Pro, Max and Ultra) choose who can access a container. Read-only terminal access cannot type; read-write access permits edits and commands. Treat that as code-execution trust.

## Keep personal credentials private

Invite someone by username, or create an invite link. The person must already have a ZeroLog account. A link carries a fixed role and expires after 7 days unless you choose otherwise; you can also limit how many people may use it. Whoever opens a link sees the owner, the container and the role before accepting.

Change the role, remove a member or revoke a link whenever you like. A member you removed cannot rejoin through an old link; only you can invite them again. Knowing a container ID grants nothing.

Personal native Claude Code and Codex credentials require a workspace owned by you that nobody else can write to. Keep shared work and personal vendor-account sessions in separate workspaces. When you invite someone, any Claude Code or Codex agent container of yours that has this workspace is stopped, so your personal logins are no longer mounted next to the new member.

See [containers](https://zerolog.ch/docs/containers), [native account setup](https://zerolog.ch/docs/byoagent) and [current plans](https://zerolog.ch/pricing). These are the implemented access rules, not a claim of a new two-account invitation test.

## How a container is shared

Mermaid source of the diagram on this page:

```mermaid
%% Sharing: how access is granted and limited. Facts from server/multiplayer.js, routes/containers.js, tiers.js, agent.js.
flowchart TB
  o["Owner on Pro, Max or Ultra<br/>opens the container's<br/>sharing panel"]

  subgraph WAYS["Two ways to invite"]
    u["Invite by username.<br/>Must be an existing<br/>ZeroLog user"]
    l["Create an invite link.<br/>Role fixed, expires after<br/>7 days by default,<br/>optional use limit"]
    c["Person opens the link,<br/>sees owner, container<br/>and role, then accepts"]
    l --> c
  end

  subgraph ROLES["Role you grant"]
    ro["Read-only: view files,<br/>attach to the terminal,<br/>cannot type"]
    rw["Read-write: edit files,<br/>run commands.<br/>Code-execution trust"]
  end

  lock["Others can write here:<br/>your personal Claude Code and<br/>Codex logins are not mounted"]:::hot
  ctl["You can change a role,<br/>remove a member or revoke a link.<br/>A removed member cannot<br/>rejoin with an old link"]

  o --> u
  o --> l
  u --> ro
  u --> rw
  c --> ro
  c --> rw
  rw --> lock
  ro --> ctl
  rw --> ctl

  classDef hot stroke:#8f7ac9
```
