Skip to content
Docs

Managing Resources

This section covers CLI commands for managing your deployed chutes, images, API keys, and secrets.

Chute Management

List all your deployed chutes.

chutes chutes list [OPTIONS]

Options:

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

Examples:

# List all your chutes
chutes chutes list

# Filter by name
chutes chutes list --name sentiment

# Include public chutes
chutes chutes list --include-public --limit 50

Output:

┌─────────────────┬─────────────────────┬────────┬───────────────────────────────┐
│ ID              │ Name                │ Status │ Cords                         │
├─────────────────┼─────────────────────┼────────┼───────────────────────────────┤
│ chute_abc123    │ sentiment-api       │ hot    │ analyze                       │
│                 │                     │        │   stream=False                │
│                 │                     │        │   POST /analyze               │
├─────────────────┼─────────────────────┼────────┼───────────────────────────────┤
│ chute_def456    │ image-gen           │ cold   │ generate                      │
│                 │                     │        │   stream=True                 │
│                 │                     │        │   POST /generate              │
└─────────────────┴─────────────────────┴────────┴───────────────────────────────┘

Get detailed information about a specific chute.

chutes chutes get <name_or_id>

Arguments:

  • : Name or UUID of the chute

Example:

chutes chutes get my-chute

Output:

{
  "chute_id": "abc123-def456-...",
  "name": "my-chute",
  "tagline": "My awesome AI chute",
  "slug": "myuser/my-chute",
  "hot": true,
  "created_at": "2024-01-15T10:30:00Z",
  "node_selector": {
    "gpu_count": 1,
    "min_vram_gb_per_gpu": 24
  },
  ...
}

Delete a chute and all its resources.

chutes chutes delete <name_or_id>

Arguments:

  • : Name or UUID of the chute to delete

Example:

chutes chutes delete old-chute

Confirmation:

Are you sure you want to delete chutes/old-chute? This action is irreversible. (y/n): y
Successfully deleted chute chute_abc123

⚠️ Warning: Deletion is permanent and cannot be undone!

Image Management

List all your Docker images.

chutes images list [OPTIONS]

Options:

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

Examples:

# List all your images
chutes images list

# Filter by name
chutes images list --name my-app

# Include public images
chutes images list --include-public

Output:

┌─────────────────┬─────────────────┬─────────┬──────────────────┬─────────────────────┐
│ ID              │ Name            │ Tag     │ Status           │ Created             │
├─────────────────┼─────────────────┼─────────┼──────────────────┼─────────────────────┤
│ img_abc123      │ sentiment-api   │ 1.0     │ built and pushed │ 2024-01-15 10:30:00 │
│ img_def456      │ image-gen       │ 2.1     │ built and pushed │ 2024-01-20 14:45:00 │
│ img_ghi789      │ test-app        │ dev     │ building         │ 2024-01-25 09:15:00 │
└─────────────────┴─────────────────┴─────────┴──────────────────┴─────────────────────┘

Get detailed information about a specific image.

chutes images get <name_or_id>

Arguments:

  • : Name or UUID of the image

Example:

chutes images get my-app

Delete an image.

chutes images delete <name_or_id>

Arguments:

  • : Name or UUID of the image to delete

Example:

chutes images delete old-image:1.0

Note: You cannot delete images that are currently in use by deployed chutes.

Sharing Chutes

Share a chute with another user or remove sharing.

chutes share [OPTIONS]

Options:

  • : The chute UUID or name to share (required)
  • : The user UUID or username to share with (required)
  • : Custom config path
  • : Remove sharing instead of adding

Examples:

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

# Share by UUIDs
chutes share --chute-id abc123-def456 --user-id user789-xyz

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

Sharing and Billing

When you share a chute:

  • Chute Owner: Pays the hourly compute rate while instances are running
  • Shared User: Pays the standard invocation rate (per token, per step, etc.)

This allows you to provide access to your deployed models while sharing the costs appropriately.

Warming Up Chutes

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

chutes warmup <chute_id_or_ref> [OPTIONS]

Arguments:

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

Options:

  • : Custom config path
  • : Enable debug logging

Examples:

# Warm up by name
chutes warmup my-chute

# Warm up by UUID
chutes warmup abc123-def456

# Warm up from file reference
chutes warmup my_chute:chute

Output:

Status: cold -- Starting instance...
Status: warming -- Loading model...
Status: hot -- Instance is ready!

Use warmup to reduce latency for the first request to a cold chute.

Common Workflows

Deploying Updates

# 1. Build new image
chutes build my_chute:chute --wait

# 2. Delete old chute (if needed)
chutes chutes delete my-chute

# 3. Deploy new version
chutes deploy my_chute:chute --accept-fee

# 4. Warm up
chutes warmup my-chute

Cleaning Up Resources

Important: You must delete chutes before deleting the images they use. Images tied to existing chutes (even if not currently running) cannot be deleted.

# List all chutes
chutes chutes list

# Delete unused chutes first
chutes chutes delete old-chute-1
chutes chutes delete old-chute-2

# List all images
chutes images list

# Delete unused images (after their chutes are removed)
chutes images delete old-image:1.0
chutes images delete test-image:dev

Sharing with Team Members

# Share with multiple users
chutes share --chute-id my-model --user-id alice
chutes share --chute-id my-model --user-id bob
chutes share --chute-id my-model --user-id charlie

# Later, remove access
chutes share --chute-id my-model --user-id bob --remove

Automation and Scripting

Bash Scripting

#!/bin/bash

# Deploy and warm up script
set -e

CHUTE_REF="my_chute:chute"
CHUTE_NAME="my-chute"

echo "Building image..."
chutes build $CHUTE_REF --wait

echo "Deploying chute..."
chutes deploy $CHUTE_REF --accept-fee

echo "Warming up..."
chutes warmup $CHUTE_NAME

echo "Deployment complete!"

Python Scripting

#!/usr/bin/env python3
import subprocess
import sys

def run_command(command):
    """Run a chutes CLI command."""
        result = subprocess.run(
            f"chutes {command}".split(),
            capture_output=True,
        text=True
        )
    if result.returncode != 0:
        print(f"Error: {result.stderr}")
        sys.exit(1)
    return result.stdout

def main():
    # List all chutes
    print("Your chutes:")
    output = run_command("chutes list")
    print(output)
    
    # Check specific chute
    print("\nChute details:")
    output = run_command("chutes get my-chute")
    print(output)

if __name__ == "__main__":
    main()

Troubleshooting

Common Issues

Chute not found?

# Check exact name/ID
chutes chutes list

# Use the exact name or UUID from the list
chutes chutes get exact-chute-name

Cannot delete chute?

The deletion requires confirmation. Type when prompted:

chutes chutes delete my-chute
# Are you sure you want to delete chutes/my-chute? This action is irreversible. (y/n): y

Image status not "built and pushed"?

# Check image status
chutes images get my-image

# If status is "building", wait for build to complete
# If status shows an error, rebuild the image
chutes build my_chute:chute --wait

Warmup fails?

# Enable debug logging
chutes warmup my-chute --debug

# Check chute exists
chutes chutes get my-chute

Best Practices

1. Regular Cleanup

Periodically review and delete unused resources:

# Review chutes
chutes chutes list

# Review images
chutes images list

# Delete what you no longer need
chutes chutes delete unused-chute
chutes images delete old-image:tag

2. Use Descriptive Names

Name your chutes and images clearly:

# Good
sentiment-analyzer-bert-v2
image-gen-sdxl-1.0
llm-llama3-8b-instruct

# Not as good
test1
my-app
chute

3. Warm Up Before Critical Usage

If you need low latency, warm up your chute before sending requests:

chutes warmup my-chute
# Wait for "hot" status
# Then send your requests

4. Share Instead of Making Public

For most use cases, sharing with specific users is better than making chutes public:

# Better: Share with specific users
chutes share --chute-id my-chute --user-id trusted-user

# Only if needed: Deploy as public (requires permissions)
chutes deploy my_chute:chute --public --accept-fee

Next Steps