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

# jstm workspace

> Create, inspect, and switch workspaces, and manage their members.

Every identifier here accepts a handle, a UUID, or an `org/workspace` fully qualified name.

## Listing and context

```bash theme={null}
jstm workspace list        # grouped by organization
jstm workspace context     # your current active workspace
jstm workspace switch acme-corp/finance
```

Your active workspace is what commands use when you don't pass `--workspace`.

## `workspace create`

```bash theme={null}
jstm workspace create --type ORG --name "Acme Corp"
jstm workspace create --type TEAM --org-id acme-corp --name "Finance"
```

| Option         | Description                               |
| -------------- | ----------------------------------------- |
| `--type`, `-t` | Required. `ORG` or `TEAM`                 |
| `--org-id`     | Parent organization. Required for `TEAM`  |
| `--name`, `-n` | Workspace name. Auto-generated if omitted |
| `--json`       | Emit as JSON                              |

Your personal workspace is created for you and can't be created this way.

## `workspace get` and `workspace show`

```bash theme={null}
jstm workspace get acme-corp/finance     # core details
jstm workspace show acme-corp/finance    # hub: agents, members, LLM config
```

## `workspace update`

```bash theme={null}
jstm workspace update acme-corp/finance --name "Finance & Accounting"
jstm workspace update acme-corp/finance --access-mode RESTRICTED
```

| Option          | Description            |
| --------------- | ---------------------- |
| `--name`, `-n`  | New name               |
| `--handle`      | New handle             |
| `--access-mode` | `OPEN` or `RESTRICTED` |
| `--json`        | Emit as JSON           |

`OPEN` lets organization members discover and join. `RESTRICTED` makes membership invitation-only.

## `workspace delete`

```bash theme={null}
jstm workspace delete acme-corp/old-team --yes
```

<Warning>
  A personal workspace can't be deleted. An organization workspace can't be deleted while it still has team workspaces under it.
</Warning>

## Members

```bash theme={null}
jstm workspace members acme-corp/finance
jstm workspace member-add acme-corp/finance --user-id dana --role admin
jstm workspace member-update acme-corp/finance --user-id dana --role member
jstm workspace member-remove acme-corp/finance --user-id dana --yes
```

| Command         | Required options                                       |
| --------------- | ------------------------------------------------------ |
| `member-add`    | `--user-id`, `-u`. `--role`, `-r` defaults to `member` |
| `member-update` | `--user-id`, `-u` and `--role`, `-r`                   |
| `member-remove` | `--user-id`, `-u`. `--yes`, `-y` skips confirmation    |

Roles are `owner`, `admin`, `member`, and `viewer`. See [Workspaces and organizations](/concepts/workspaces-and-organizations) for what each can do.

To invite someone who isn't yet in the organization, use [`jstm org invite`](/cli/org).

## Resolving ambiguous names

Team handles are unique within an organization, not across all of them.

```bash theme={null}
jstm workspace resolve platform                  # every match
jstm workspace resolve platform --org acme-corp  # scoped to one org
jstm workspace org platform                      # which org does it belong to
```

## See also

* [Set up your organization](/guides/set-up-your-organization)
* [Invite and manage members](/guides/invite-and-manage-members)
