Skip to main content

CLI Commands

Library

All commands accept an optional --library <nickname> flag to specify which library to use. If omitted, the default library is used. Complex commands work interactively and will prompt for missing information.

CommandDescription
lasco newInitialize a new lasco library. Prompts for admin username, password, and default album name. Use --username, --password, --album-name to skip prompts.
lasco clone --remote-dir <path>Add a library that already exists on a local filesystem path. Copies the crypto metadata from the source app directory and registers it locally. Use --username and --password to skip prompts.
lasco check-storage [--library <nickname>]Verify the integrity of local and remote storage for the specified library. Checks for consistency between stored data and metadata.
lasco status [--library <nickname>]Display pending operation and media upload counts for the specified library.
lasco libraries listList all configured libraries with their nicknames and current default.
lasco library listAlias for lasco libraries list.
lasco library default [nickname]Set the default library. If nickname is provided, sets it as default. Otherwise, lists libraries and prompts interactively for selection. All operations that accept a [--library <nickname>] flag apply to the default library if no library is specified.

Users

CommandDescription
lasco user add <username> [--library <nickname>]Add a new user to the specified library. Prompts for password if not provided via --password.
lasco user list [--library <nickname>]List all users registered in the specified library.
lasco user change-password <username> [--library <nickname>]Change the password for the specified user. Prompts for current and new password.

Media

CommandDescription
lasco media add <path> [--library <nickname>]Add a media item to the specified library. Copies the media into local state. Use --album to specify a target album.
lasco media list [--library <nickname>]List all reachable media items in the specified library.
lasco media get <UUID> [--library <nickname>]Decrypt and download a media item to the local filesystem. Use --output or -o to specify destination path.
lasco media get-thumbnail <UUID> [--library <nickname>]Decrypt and return a media item's thumbnail bytes.
lasco media delete <UUID> [--library <nickname>]Remove a media item from all albums it belongs to. The media blob remains on remotes; it simply becomes unreachable through the album tree.
lasco media show <UUID> [--library <nickname>]Display metadata for a specific media item, including its UUID, name, size, and encryption status.

Albums

CommandDescription
lasco album create <name> [--library <nickname>]Create a new album in the specified library. Use --parent to nest it under an existing album.
lasco album tree [--library <nickname>]Display the complete album hierarchy as a tree for the specified library. Use --parent <name/UUID> to show only a subtree.
lasco album list <name/UUID> [--library <nickname>]List all media items contained in the specified album.
lasco album list-groups <name/UUID> [--library <nickname>]List all groups inside the specified album.
lasco album add <album-UUID> <media-UUID> [--library <nickname>]Add an existing media item to an album in the specified library.
lasco album remove <album-UUID> <media-UUID> [--library <nickname>]Remove a media item from an album (does not delete the media item).
lasco album delete <UUID> [--library <nickname>]Soft-delete an album. Child albums become disconnected; media items are not removed. Cannot delete the configured default upload album.

Groups

CommandDescription
lasco group create [--library <nickname>]Create a new group inside an album in the specified library. Use --album to specify the parent album.
lasco group list [--library <nickname>]List all non-deleted groups in the specified library.
lasco group show <UUID> [--library <nickname>]Display metadata for a specific group.
lasco group add <group-UUID> <media-UUID> [--library <nickname>]Add a media item to a group in the specified library.
lasco group remove <group-UUID> <media-UUID> [--library <nickname>]Remove a media item from a group (does not delete the media item).
lasco group delete <UUID> [--library <nickname>]Soft-delete a group. Media items in the group are not removed.

Remote

CommandDescription
lasco remote list [--library <nickname>]List all configured remote storage locations (primary and replicas) for the specified library.
lasco remote add <name> <url/type> [--library <nickname>]Add a new remote storage location as a replica to the specified library.
lasco remote remove <name> [--library <nickname>]Remove a configured remote storage location from the specified library.
lasco remote default-fetch <name> [--library <nickname>]Set the default fetch remote for the specified library.

Sync

CommandDescription
lasco fetch [--library <nickname>] [--remote <name>]Download new operations from the specified remote storage. If no remote is specified, uses the default fetch remote. Applies operations to the local library state.
lasco push [--library <nickname>] [--remote <name1,name2,...>]Upload pending local operations and media to the specified remote storage(s). If no remote is specified, pushes to all known remotes.
lasco sync [--library <nickname>] [--remote <name>]Perform a full synchronization: fetch new operations from the specified remote, then push local changes to it. If no remote is specified, uses the primary remote.

Misc

CommandDescription
lasco local-dirDisplay configuration directories: config dir, data dir, remote dir (if set), session dir (if set), and the config file path.
lasco session-endClear cached session credentials from the OS keychain, ending the current session.