Developers

CLI Command Overview

The Chutes CLI provides a complete set of commands for managing your AI applications, from account setup to deployment and monitoring.

Installation

The CLI is included when you install the Chutes SDK:

pip install chutes

Verify installation:

chutes --help

Command Structure

All Chutes commands follow this pattern:

chutes <command> [subcommand] [options] [arguments]

Account Management

Create a new account with the Chutes platform.

chutes register [OPTIONS]

Options:

  • : Custom path to config file
  • : Desired username
  • : Path to Bittensor wallets directory (default: )
  • : Name of the wallet to use
  • : Hotkey to register with

Example:

chutes register --username myuser

Building & Deployment

Build a Docker image for your chute.

chutes build <chute_ref> [OPTIONS]

Arguments:

  • : Chute reference in format

Options:

  • : Custom config path
  • : Path to logo image
  • : Build locally instead of remotely
  • : Enable debug logging
  • : Include entire current directory in build context
  • : Wait for build to complete
  • : Mark image as public

Examples:

# Build remotely and wait for completion
chutes build my_chute:chute --wait

# Build locally for testing
chutes build my_chute:chute --local

# Build with a logo and make public
chutes build my_chute:chute --logo ./logo.png --public

Deploy a chute to the platform.

chutes deploy <chute_ref> [OPTIONS]

Arguments:

  • : Chute reference in format

Options:

  • : Custom config path
  • : Path to logo image
  • : Enable debug logging
  • : Mark chute as public
  • : Acknowledge the deployment fee and accept being charged

Examples:

# Basic deployment
chutes deploy my_chute:chute

# Deploy with logo
chutes deploy my_chute:chute --logo ./logo.png

# Deploy and accept the deployment fee
chutes deploy my_chute:chute --accept-fee

Run a chute locally for development and testing.

chutes run <chute_ref> [OPTIONS]

Arguments:

  • : Chute reference in format

Options:

  • : Host to bind to (default: 0.0.0.0)
  • : Port to listen on (default: 8000)
  • : Enable debug logging
  • : Enable development mode

Examples:

# Run on default port
chutes run my_chute:chute --dev

# Run on custom port with debug
chutes run my_chute:chute --port 8080 --debug --dev

Share a chute with another user.

chutes share [OPTIONS]

Options:

  • : The chute UUID or name to share (required)
  • : The user UUID or username to share with (required)
  • : Custom config path
  • : Unshare/remove the share instead of adding

Examples:

# Share a chute with another user
chutes share --chute-id my-chute --user-id anotheruser

# Remove sharing
chutes share --chute-id my-chute --user-id anotheruser --remove

Warm up a chute to ensure an instance is ready for requests.

chutes warmup <chute_id_or_ref> [OPTIONS]

Arguments:

  • : The chute UUID, name, or file reference (format: )

Options:

  • : Custom config path
  • : Enable debug logging

Example:

chutes warmup my-chute

Resource Management

Manage your deployed chutes.

List your chutes.

chutes chutes list [OPTIONS]

Options:

  • : Filter by name
  • : Number of items per page (default: 25)
  • : Page number (default: 0)
  • : Include public chutes

Example:

chutes chutes list --limit 10 --include-public

Get detailed information about a specific chute.

chutes chutes get <name_or_id>

Example:

chutes chutes get my-awesome-chute

Delete a chute.

chutes chutes delete <name_or_id>

Example:

chutes chutes delete my-old-chute

Manage your Docker images.

List your images.

chutes images list [OPTIONS]

Options:

  • : Filter by name
  • : Number of items per page (default: 25)
  • : Page number (default: 0)
  • : Include public images

Get detailed information about a specific image.

chutes images get <name_or_id>

Delete an image.

chutes images delete <name_or_id>

Manage API keys.

Create a new API key.

chutes keys create [OPTIONS]

Options:

  • : Name for the API key (required)
  • : Create admin key with full permissions
  • : Allow full access to images
  • : Allow full access to chutes
  • : Specific image IDs to allow (can be repeated)
  • : Specific chute IDs to allow (can be repeated)
  • : Specify action scope
  • : Provide raw scopes document as JSON for advanced usage
  • : Custom config path

Examples:

# Admin key
chutes keys create --name admin-key --admin

# Key with invoke access to all chutes
chutes keys create --name invoke-key --chutes --action invoke

# Key with access to specific chute
chutes keys create --name readonly-key --chute-ids 12345 --action read

List your API keys.

chutes keys list [OPTIONS]

Options:

  • : Filter by name
  • : Number of items per page (default: 25)
  • : Page number (default: 0)

Get details about a specific API key.

chutes keys get <name_or_id>

Delete an API key.

chutes keys delete <name_or_id>

Manage secrets for your chutes (e.g., HuggingFace tokens for private models).

Create a new secret.

chutes secrets create [OPTIONS]

Options:

  • : The chute UUID or name this secret is for (required)
  • : The secret key/name (required)
  • : The secret value (required)
  • : Custom config path

Example:

chutes secrets create --purpose my-chute --key HF_TOKEN --value hf_xxxxxxxxxxxx

List your secrets.

chutes secrets list [OPTIONS]

Options:

  • : Number of items per page (default: 25)
  • : Page number (default: 0)

Get details about a specific secret.

chutes secrets get <secret_id>

Delete a secret.

chutes secrets delete <secret_id>

Utilities

Report an invocation for billing/tracking purposes.

chutes report [OPTIONS]

Change your fingerprint.

chutes refinger [OPTIONS]

Global Options

These options work with most commands:

  • : Show help message
  • : Path to custom config file
  • : Enable debug logging

Configuration

Config File Location

Default:

Override with:

export CHUTES_CONFIG_PATH=/path/to/config.ini

Environment Variables

  • : Custom config file path
  • : API base URL
  • : Allow missing config

Common Workflows

1. First-Time Setup

# Register account
chutes register

# Create admin API key
chutes keys create --name admin --admin

2. Develop and Deploy

# Build your image
chutes build my_app:chute --wait

# Test locally
docker run --rm -it -e CHUTES_EXECUTION_CONTEXT=REMOTE -p 8000:8000 my_app:tag chutes run my_app:chute --port 8000 --dev

# Deploy to production
chutes deploy my_app:chute --accept-fee

3. Manage Resources

# List your chutes
chutes chutes list

# Get detailed info
chutes chutes get my-app

# Warm up a chute
chutes warmup my-app

# Share with another user
chutes share --chute-id my-app --user-id colleague

# Clean up old resources
chutes chutes delete old-chute
chutes images delete old-image

Troubleshooting

Common Issues

Command not found

# Check installation
pip show chutes

# Try with Python module
python -m chutes --help

Authentication errors

# Re-register if needed
chutes register

# Check config file
cat ~/.chutes/config.ini

Build failures

# Try local build for debugging
chutes build my_app:chute --local --debug

# Check image syntax
python -c "from my_app import chute; print(chute.image)"

Deployment issues

# Verify image exists and is built
chutes images list --name my-image
chutes images get my-image

# Check chute status
chutes chutes get my-chute

Debug Mode

Enable debug logging for detailed output:

chutes build my_app:chute --debug

Getting Help

Built-in Help

# General help
chutes --help

# Command-specific help
chutes build --help
chutes deploy --help
chutes chutes list --help

Support Resources


Continue to specific command documentation: