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

# anaconda org upload

## Usage

```bash theme={null}
anaconda org upload <FILE> [files ...] [OPTIONS]
```

Comments

Replace \<FILE> with the path(s) to the distribution file(s) to upload.

## Description

Uploads packages to your Anaconda repository. The CLI auto-detects the package type from the file when `--package-type` is not specified.

When `-c/--channel` or `-n/--namespace` is provided, the upload targets an anaconda.com repository channel instead of anaconda.org. Using `--namespace` requires `--channel`. The `-c/--channel` and `-u/--user` flags cannot be used together.

## Arguments

Argument

Description

`<FILE>`

Distribution file(s) to upload (required)

## Options

Option

Default

Description

`-u, --user <USER>`

Current user

User account or organization to upload to

`-c, --channel <CHANNEL>`

Target channel in `namespace/channel` or `channel` format. Implies an anaconda.com upload. Cannot be used with `--user`.

`-n, --namespace <NAMESPACE>`

Namespace for a repo channel (anaconda.com). Requires `--channel`.

`-l, --label <LABEL>`

Add the file to a specific label (can be specified multiple times)

`-t, --package-type <TYPE>`

The type(s) in the uploaded file(s)

Set the package type: `conda`, `env`, `file`, `ipynb`, `pypi`, `r`, `project`, `installer`

`-p, --package <PACKAGE>`

The name(s) in the uploaded file(s)

Package name

`-v, --version <VERSION>`

The version(s) in the uploaded file(s)

Package version

`-s, --summary <SUMMARY>`

Set a short summary for the package

`-d, --description <DESCRIPTION>`

Set a description of the file(s)

`--thumbnail <THUMBNAIL>`

Notebook thumbnail image path

`--private`

`false`

Create the package with private access

`--no-progress`

`false`

Do not show upload progress

`--keep-basename`

`false`

Do not normalize the conda package basename

`--register`

Create a new package namespace if it does not exist

`--no-register`

Do not create a package namespace if it does not exist

`--force`

`false`

Force upload regardless of errors

`--skip-existing`

`false`

Skip upload if the package already exists

`-m, --force-metadata-update`

`false`

Overwrite existing release metadata with the metadata from the uploaded file

`-i, --interactive`

`false`

Run an interactive prompt if any packages are missing

`-f, --fail`

Fail if a package or release does not exist

`--build-id <BUILD_ID>`

Anaconda repository Build ID (internal)

`-h`

Show help for this command

## Examples

**Upload a conda package**

```bash theme={null}
anaconda org upload numpy-1.21.0-py39_0.conda
```

**Upload multiple conda packages**

```bash theme={null}
anaconda org upload numpy-1.21.0-py39_0.conda scipy-1.7.0-py39_0.conda
```

**Upload with custom metadata**

```bash theme={null}
anaconda org upload numpy-1.21.0-py39_0.conda --summary "Numerical computing library" --private
```

**Upload to a specific label**

```bash theme={null}
anaconda org upload numpy-1.21.0-py39_0.conda --label dev
```

**Upload to a specific user or organization**

```bash theme={null}
anaconda org upload numpy-1.21.0-py39_0.conda --user my-org
```

**Upload multiple files, skipping existing ones**

```bash theme={null}
anaconda org upload *.conda --skip-existing
```

**Upload to an anaconda.com repository channel**

```bash theme={null}
anaconda org upload numpy-1.21.0-py39_0.conda --channel my-org/my-channel
```

**Upload to a channel with an explicit namespace**

```bash theme={null}
anaconda org upload numpy-1.21.0-py39_0.conda --channel my-channel --namespace my-org
```
