Command Reference

Complete reference documentation for all oras CLI commands. All operations support both CLI and interactive TUI modes.

Core Commands

Command Description
login Log in to a remote registry
logout Log out from a remote registry
push Push files to a remote registry
pull Pull files from a remote registry
version Show version information

Registry Operations

Command Description
tag Tag a manifest in a remote registry
resolve Resolve a reference to a digest
copy Copy artifacts between registries
backup Backup artifacts from a registry to local storage (New — .NET CLI exclusive)
restore Restore artifacts from local backup to a registry (New — .NET CLI exclusive)
attach Attach files to an existing artifact
discover Discover referrers of a manifest

Repository Commands

Command Description
repo ls List repositories in a registry
repo tags List tags in a repository

Manifest Commands

Command Description
manifest fetch Fetch a manifest from a registry
manifest push Push a manifest to a registry
manifest delete Delete a manifest from a registry
manifest fetch-config Fetch the config blob of a manifest

Blob Commands

Command Description
blob fetch Fetch a blob from a registry
blob push Push a blob to a registry
blob delete Delete a blob from a registry

Common Options

Most commands support these common options:

  • --debug, -d — Enable debug logging to stderr
  • --verbose, -v — Enable verbose output
  • --help, -h — Show help for a command

Remote Options

Commands that interact with registries support these authentication options:

  • --username, -u — Registry username
  • --password, -p — Registry password
  • --password-stdin — Read password from stdin
  • --insecure — Skip TLS certificate verification
  • --plain-http — Use HTTP instead of HTTPS
  • --ca-file — Path to custom CA certificate
  • --registry-config — Path to registry configuration file

Output Formats

Many commands support --format option:

  • text (default) — Human-readable output
  • json — Machine-readable JSON output

Platform Selection

Commands that work with multi-platform images support --platform:

  • --platform — Specify platform in format os/arch (e.g., linux/amd64, linux/arm64, windows/amd64)

Exit Codes

All commands follow standard exit code conventions:

Code Description
0 Success
1 General error (network, registry, operation failure)
2 Usage error (invalid arguments, missing required options)

Reference Format

All commands accepting a <reference> argument use this format:

[registry/]repository[:tag|@digest]

Examples:

  • localhost:5000/myrepo:latest
  • ghcr.io/myorg/myartifact:v1.0
  • docker.io/library/alpine@sha256:abc123...

Interactive TUI Mode

All commands are available through the interactive TUI. Launch with:

oras

The TUI provides:

  • Dashboard with quick-actions menu
  • Context menus for repositories and tags
  • Live progress bars for all transfer operations
  • In-memory caching with refresh options
  • ASCII-safe status indicators for universal terminal compatibility

See TUI Guide for details.

Getting Help

Each command has detailed help available:

# Show all commands
oras --help

# Show help for a specific command
oras push --help

# Show help for a subcommand
oras repo ls --help

Quick Examples

Authentication:

oras login ghcr.io

Push artifact:

oras push ghcr.io/myorg/myartifact:v1.0 ./file1.txt ./file2.txt --artifact-type application/vnd.myorg.config

Pull artifact:

oras pull ghcr.io/myorg/myartifact:v1.0

Copy artifact:

oras copy ghcr.io/source/artifact:v1 ghcr.io/dest/artifact:v1

List repositories:

oras repo ls ghcr.io

For more examples and workflows, see the Installation Guide.