In 2022.3.28 we have introduced a new CLI interface, which provide more features then the prior.
Launch CLI
The new interface has a dedicated command: bottles-cli .
If using Bottles as Flatpak (the suggested way), launch it with:
flatpak run --command=bottles-cli com.usebottles.bottles --help
Bottles is a tool to manage your bottles
positional arguments:
{info,list,programs,tools,reg,edit,new,run}
sub-command help
info Show information about Bottles
list List entities
programs List programs
tools Launch WINE tools
reg Manage registry
edit Edit a bottle configuration
new Create a new bottle
run Run a program
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-j, --json Outputs in JSON format
for all other packages:
Interfaces/Arguments
Since Bottles has a lot of features, to keep things organized we have divided it in multiple interfaces: info, list, programs, tools, reg, edit, new, run.
Info
The info interface can be used to access Bottles information:
List
The list command is meant to be used for listing Bottles stuff:
the -f argument for bottles supports the environment prefix:
while for components the category one can be used:
Programs
The programs interface can be used to list all programs in a bottle (only added by users or installers).
Tools
The tools interface can be used to launch any WINE utility.
Reg
The reg interface can be used to access and edit the bottle's Windows registry.
Edit
The edit interface can be used to edit a bottle (e.g. any parameter, environment variables, Windows version, runner, dxvk, vkd3d..).
Add
The add interface can be used to add new programs to a bottle:
New
The new interface can be used to create a new bottle.
Run
The run interface can be used to launch an executable from a given path or any program in a bottle using its name:
Shell
The shell interface can be used to run commands inside a wine shell for the given bottle:
Standalone
The standalone interface can be used to generate a script which can be used to launch commands in a wine shell for the given bottle, without passing trough Bottles:
Developers mode
We've added a --json global argument to help developers accessing stuff from the Bottles' CLI. It can be used with any interface and will return the output in JSON format. Some examples:
in some cases it will return more info then the classic launch, e.g. for the programs interface:
usage: bottles-cli info [-h] {bottles-path,health-check}
positional arguments:
{bottles-path,health-check}
Type of information
optional arguments:
-h, --help show this help message and exit
usage: bottles-cli list [-h] [-f FILTER] {bottles,components}
positional arguments:
{bottles,components} Type of entity
optional arguments:
-h, --help show this help message and exit
-f FILTER, --filter FILTER
Filter bottles and components (e.g. '-f 'environment:gaming')
bottles-cli list bottles -f environment:gaming
bottles-cli list components -f category:dxvk
usage: bottles-cli programs [-h] -b BOTTLE
optional arguments:
-h, --help show this help message and exit
-b BOTTLE, --bottle BOTTLE
Bottle name
usage: bottles-cli tools [-h] -b BOTTLE {cmd,winecfg,uninstaller,regedit,taskmgr,control,explorer}
positional arguments:
{cmd,winecfg,uninstaller,regedit,taskmgr,control,explorer}
Tool to launch
optional arguments:
-h, --help show this help message and exit
-b BOTTLE, --bottle BOTTLE
Bottle name
usage: bottles-cli reg [-h] -b BOTTLE -k KEY -v VALUE [-d DATA] [-t {REG_DWORD,REG_SZ,REG_BINARY,REG_MULTI_SZ}] {add,edit,del}
positional arguments:
{add,edit,del} Action to perform
optional arguments:
-h, --help show this help message and exit
-b BOTTLE, --bottle BOTTLE
Bottle name
-k KEY, --key KEY Registry key
-v VALUE, --value VALUE
Registry value
-d DATA, --data DATA Data to be set
-t {REG_DWORD,REG_SZ,REG_BINARY,REG_MULTI_SZ}, --key-type {REG_DWORD,REG_SZ,REG_BINARY,REG_MULTI_SZ}
Data type
usage: bottles-cli add [-h] -b BOTTLE -n NAME -p PATH [-l LAUNCH_OPTIONS] [--no-dxvk] [--no-vkd3d]
[--no-dxvk-nvapi]
optional arguments:
-h, --help show this help message and exit
-b BOTTLE, --bottle BOTTLE
Bottle name
-n NAME, --name NAME Program name
-p PATH, --path PATH Program path
-l LAUNCH_OPTIONS, --launch-options LAUNCH_OPTIONS
Program launch options
--no-dxvk Disable DXVK for the program
--no-vkd3d Disable VKD3D for the program
--no-dxvk-nvapi Disable DXVK Nvapi for the program
usage: bottles-cli new [-h] --bottle-name BOTTLE_NAME --environment ENVIRONMENT [--custom-environment CUSTOM_ENVIRONMENT] [--arch ARCH] [--runner RUNNER] [--dxvk DXVK] [--vkd3d VKD3D] [--nvapi NVAPI] [--latencyflex LATENCYFLEX]
optional arguments:
-h, --help show this help message and exit
--bottle-name BOTTLE_NAME
Bottle name
--environment ENVIRONMENT
Envorinment to apply (gaming|application|custom)
--custom-environment CUSTOM_ENVIRONMENT
Path to a custom environment.yml file
--arch ARCH Architecture (win32|win64)
--runner RUNNER Name of the runner to be used
--dxvk DXVK Name of the dxvk to be used
--vkd3d VKD3D Name of the vkd3d to be used
--nvapi NVAPI Name of the dxvk-nvapi to be used
--latencyflex LATENCYFLEX
Name of the latencyflex to be used
usage: bottles-cli run [-h] -b BOTTLE [-e EXECUTABLE] [-a ARGS] [-p PROGRAM]
optional arguments:
-h, --help show this help message and exit
-b BOTTLE, --bottle BOTTLE
Bottle name
-e EXECUTABLE, --executable EXECUTABLE
Path to the executable
-a ARGS, --args ARGS Arguments to pass to the executable
-p PROGRAM, --program PROGRAM
Program to run
usage: bottles-cli shell [-h] -b BOTTLE -i INPUT
optional arguments:
-h, --help show this help message and exit
-b BOTTLE, --bottle BOTTLE
Bottle name
-i INPUT, --input INPUT
Command to execute
usage: bottles-cli standalone [-h] -b BOTTLE
optional arguments:
-h, --help show this help message and exit
-b BOTTLE, --bottle BOTTLE
Bottle name