Skip to content

CLI Commands

Complete reference for all podkit CLI commands.

Global Options

These options work with all commands:

OptionDescription
--device <name|path>Device name from config, or path to iPod mount point
--config <path>Path to config file (default: ~/.config/podkit/config.toml)
-v, --verboseIncrease verbosity (stackable: -v, -vv, -vvv)
-q, --quietSuppress non-essential output
--jsonOutput in JSON format
--no-colorDisable colored output
--helpShow help for command
--versionShow version number

Commands Overview

CommandDescription
podkit initCreate a default configuration file
podkit syncSync music and/or video collections to iPod
podkit deviceDevice management commands
podkit collectionCollection management commands
podkit ejectSafely eject iPod (shortcut for device eject)
podkit mountMount an iPod (shortcut for device mount)

podkit init

Create a default configuration file.

Terminal window
podkit init [options]

Options

OptionDescription
-f, --forceOverwrite existing config file
--path <path>Config file path (default: ~/.config/podkit/config.toml)

Examples

Terminal window
# Create default config
podkit init
# Overwrite existing config
podkit init --force
# Create config at a custom path
podkit init --path ~/my-podkit-config.toml

podkit sync

Sync music and/or video collections to an iPod.

Terminal window
podkit sync [type] [options]

Arguments

ArgumentDescription
[type]Content type: music, video, or omit for both

Options

OptionDescription
-c, --collection <name>Collection name to sync (searches both music and video)
-n, --dry-runShow what would be synced without making changes
--quality <preset>Unified quality preset for audio and video: max, high, medium, low (also accepts audio-only values like lossless, *-cbr which only affect audio)
--audio-quality <preset>Audio-specific quality override: lossless, max, max-cbr, high, high-cbr, medium, medium-cbr, low, low-cbr
--video-quality <preset>Video-specific quality override: max, high, medium, low
--lossy-quality <preset>Quality for lossy sources when audio quality is lossless (default: max)
--filter <pattern>Only sync tracks matching pattern
--no-artworkSkip artwork transfer
--deleteRemove tracks from iPod that are not in the source
--ejectEject iPod after successful sync

Examples

Terminal window
# Preview what would be synced
podkit sync --dry-run
# Sync music only
podkit sync music
# Sync video only
podkit sync video
# Sync a specific collection
podkit sync -c jazz
# Sync music collection named "main"
podkit sync music -c main
# Sync to a specific device
podkit sync --device myipod
# Sync with lower quality to save space
podkit sync --quality medium
# Lossless audio with fallback for lossy sources
podkit sync --audio-quality lossless --lossy-quality high
# Set unified quality, but override audio specifically
podkit sync --quality medium --audio-quality high
# Remove orphaned tracks and eject when done
podkit sync --delete --eject
# Skip artwork transfer for faster sync
podkit sync --no-artwork

podkit device

Device management commands. Running podkit device with no subcommand lists all configured devices.

Terminal window
podkit device [subcommand] [options]

podkit device list

List all configured devices.

Terminal window
podkit device list

podkit device add

Detect a connected iPod and add it to the config.

Terminal window
podkit device add <name> [path]
ArgumentDescription
<name>Name for this device configuration
[path]Explicit path to iPod mount point (auto-detected if omitted)
OptionDescription
-y, --yesSkip confirmation prompts
--quality <preset>Set transcoding quality: lossless, max, high, medium, low (and CBR variants)
--audio-quality <preset>Set audio quality (overrides --quality)
--video-quality <preset>Set video quality: max, high, medium, low
--artwork / --no-artworkEnable or disable artwork sync for this device
Terminal window
# Auto-detect connected iPod
podkit device add classic
# Specify mount point explicitly
podkit device add classic /Volumes/IPOD
# Add with quality settings
podkit device add nano --quality medium --no-artwork
# Add with specific audio quality
podkit device add classic --audio-quality lossless --video-quality high

podkit device remove

Remove a device from the config.

Terminal window
podkit device remove <name>
OptionDescription
--confirmSkip confirmation prompt

podkit device set

Update settings on an existing device.

Terminal window
podkit device set <name> [options]
OptionDescription
--quality <preset>Set transcoding quality: lossless, max, high, medium, low (and CBR variants)
--audio-quality <preset>Set audio quality (overrides --quality)
--video-quality <preset>Set video quality: max, high, medium, low
--artwork / --no-artworkEnable or disable artwork sync
--clear-qualityRemove quality setting (use global default)
--clear-audio-qualityRemove audio quality setting
--clear-video-qualityRemove video quality setting
--clear-artworkRemove artwork setting (use global default)
Terminal window
# Set quality on a device
podkit device set classic --quality lossless
# Set audio and video quality separately
podkit device set nano --audio-quality medium --video-quality low
# Disable artwork
podkit device set nano --no-artwork
# Reset to global defaults
podkit device set classic --clear-quality --clear-artwork

podkit device default

Set or show the default device.

Terminal window
podkit device default [name]
OptionDescription
--clearClear the default device
Terminal window
# Show current default
podkit device default
# Set default device
podkit device default classic
# Clear the default
podkit device default --clear

podkit device info

Display device configuration and live status (storage, track count, model).

Terminal window
podkit device info [name]
ArgumentDescription
[name]Device name (uses default if omitted)
Terminal window
# Show default device info
podkit device info
# Show info for a named device
podkit device info classic

podkit device music

Show music on an iPod. By default, displays summary stats (track/album/artist counts and file type breakdown).

Terminal window
podkit device music [name] [options]
OptionDescription
--tracksList all tracks (detailed view)
--albumsList albums with track counts
--artistsList artists with album/track counts
--format <fmt>Output format: table, json, csv (default: table)
--fields <list>Comma-separated fields to show with --tracks (see Display Fields)
Terminal window
# Show music stats (default)
podkit device music
# List all tracks
podkit device music --tracks
# Browse by album or artist
podkit device music --albums
podkit device music --artists
# Export as JSON
podkit device music --json
podkit device music --tracks --json
# Show specific fields
podkit device music --tracks --fields title,artist,album,genre,year

podkit device video

Show video content on an iPod. By default, displays summary stats.

Terminal window
podkit device video [name] [options]
OptionDescription
--tracksList all tracks (detailed view)
--albumsList albums with track counts
--artistsList artists with album/track counts
--format <fmt>Output format: table, json, csv (default: table)
--fields <list>Comma-separated fields to show with --tracks (see Display Fields)

podkit device clear

Remove content from the iPod.

Terminal window
podkit device clear [name] [options]
OptionDescription
--type <type>Content type to clear: music, video, or all (default: all)
--confirmSkip confirmation prompt (for scripts)
--dry-runShow what would be removed without removing
Terminal window
# Preview what would be cleared
podkit device clear --dry-run
# Clear only music
podkit device clear --type music
# Clear everything, no prompt
podkit device clear --confirm

podkit device reset

Reset the iPod database. This erases all tracks and recreates the database from scratch.

Terminal window
podkit device reset [name] [options]
OptionDescription
-y, --yesSkip confirmation prompt
--dry-runShow what would happen without making changes

podkit device eject

Safely unmount an iPod device.

Terminal window
podkit device eject [name] [options]
OptionDescription
-f, --forceForce unmount even if device is busy

podkit device mount

Mount an iPod device.

Terminal window
podkit device mount [name] [options]
OptionDescription
--disk <identifier>Disk identifier (e.g., /dev/disk4s2)
--dry-runShow mount command without executing
Terminal window
# Mount default device
podkit device mount
# Mount by name
podkit device mount classic
# Mount using disk identifier
podkit device mount --disk /dev/disk4s2
# Show what mount command would run
podkit device mount --dry-run

podkit device init

Initialize an iPod database on a device. Use this for blank or corrupted iPods.

Terminal window
podkit device init [name] [options]
OptionDescription
-f, --forceOverwrite existing database
-y, --yesSkip confirmation prompt

podkit collection

Manage music and video collections. Running podkit collection with no subcommand lists all configured collections.

Terminal window
podkit collection [subcommand] [options]

podkit collection list

List configured collections.

Terminal window
podkit collection list [type]
ArgumentDescription
[type]Filter by type: music or video
Terminal window
# List all collections
podkit collection list
# List only music collections
podkit collection list music

podkit collection add

Add a new collection to the config.

Terminal window
podkit collection add <type> <name> <path>
ArgumentDescription
<type>Collection type: music or video
<name>Collection name (letters, numbers, hyphens, underscores)
<path>Path to the collection directory
Terminal window
# Add a music collection
podkit collection add music main /Volumes/Media/music
# Add a video collection
podkit collection add video movies /Volumes/Media/movies

podkit collection remove

Remove a collection from the config.

Terminal window
podkit collection remove <name>
OptionDescription
-y, --yesSkip confirmation prompt

podkit collection default

Set or show the default collection for a type.

Terminal window
podkit collection default <type> [name]
ArgumentDescription
<type>Collection type: music or video
[name]Collection name (omit to show current default)
OptionDescription
--clearClear the default for this type
Terminal window
# Show default music collection
podkit collection default music
# Set default music collection
podkit collection default music main
# Set default video collection
podkit collection default video movies
# Clear default
podkit collection default music --clear

podkit collection info

Display collection details.

Terminal window
podkit collection info <name>

podkit collection music

Show music in a collection. By default, displays summary stats (track/album/artist counts and file type breakdown). Scans the source directory or Subsonic server.

Terminal window
podkit collection music [name] [options]
OptionDescription
--tracksList all tracks (detailed view)
--albumsList albums with track counts
--artistsList artists with album/track counts
--format <fmt>Output format: table, json, csv (default: table)
--fields <list>Comma-separated fields to show with --tracks (see Display Fields)

podkit collection video

Show videos in a collection. By default, displays summary stats.

Terminal window
podkit collection video [name] [options]
OptionDescription
--tracksList all tracks (detailed view)
--albumsList albums with track counts
--artistsList artists with album/track counts
--format <fmt>Output format: table, json, csv (default: table)
--fields <list>Comma-separated fields to show with --tracks (see Display Fields)

podkit eject

Safely unmount an iPod device. This is a shortcut for podkit device eject.

Terminal window
podkit eject [name] [options]
OptionDescription
-f, --forceForce unmount even if device is busy
Terminal window
# Eject default device
podkit eject
# Eject named device
podkit eject classic
# Force eject
podkit eject --force

podkit mount

Mount an iPod device. This is a shortcut for podkit device mount.

Terminal window
podkit mount [name] [options]
OptionDescription
--disk <identifier>Disk identifier (e.g., /dev/disk4s2)
--dry-runShow mount command without executing
Terminal window
# Mount default device
podkit mount
# Mount using disk identifier
podkit mount --disk /dev/disk4s2

Display Fields

The --fields option for track listing commands accepts a comma-separated list of field names.

Available fields:

FieldDescription
titleTrack title
artistArtist name
albumAlbum name
durationTrack duration
albumArtistAlbum artist
genreGenre
yearRelease year
trackNumberTrack number
discNumberDisc number
filePathFile path
artworkWhether artwork is present
compilationWhether track is part of a compilation album
formatAudio format
bitrateBitrate

Default fields: title, artist, album, duration

See Also