CLI

Using Bottles via CLI

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:

Last updated

Was this helpful?