---
name: "tlpctl"
section: "1"
platform: "linux"
package: "tlp-pd"
version: "1.10.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/tlpctl"
---

# tlpctl(1)

control TLP profiles

## NAME

tlpctl - control TLP profiles

## SYNOPSIS

**tlpctl** \[**-h**\] *command* \[*options*\] \[*args*\]

## DESCRIPTION

**tlpctl** is a command-line utility to control TLP profiles. It allows users to switch between  profiles, list available profiles and launch applications with specific profiles. It offers a subset of powerprofilesctl's commands supplemented by TLP-specific shortcuts.

**tlpctl** communicates with the TLP Profiles Daemon (tlp-pd) which implements the org.freedesktop.UPower.PowerProfiles D-Bus interface similar to power-profiles-daemon.

## COMMANDS

### Profile Shortcuts

- **performance**

  Switch to the performance profile (shortcut for **tlpctl set performance**).

- **balanced**

  Switch to the balanced profile (shortcut for **tlpctl set balanced**).

- **power-saver**

  Switch to the power-saver profile (shortcut for **tlpctl set power-saver**).

### Profile Management

- **list**

  List available TLP profiles. The active profile is marked with an asterisk (\*).

- **get**

  Print the currently active TLP profile.

- **set** *profile*

  Set the active TLP profile. Valid profiles are: **performance**, **balanced** and **power-saver**. This will release all active profile holds.

- **launch** *command* **\[*options*\]**

  Run a command and request a specific TLP profile for it ("profile hold").

  - **-p**, **--profile** ***profile***

    Profile to hold while running the command (default: performance).

  - **-r**, **--reason** ***reason***

    Reason for the profile hold (default: second and remaining words of the *command*).

  - **-i**, **--appid** ***appid***

    Application identifier for the hold (default: first word of *command*).

  - Holds are automatically released, returning to the user's selected profile, when:

    - •

    The holding command exits

  - •

    The user manually changes the profile (with **tlpctl set**)

  - •

    The application explicitly releases the hold

  - Multiple holds can be active simultaneously.

    - **list-holds**

  List current TLP profile holds (from launch command), showing the profile name, application ID, and reason for each hold.

### Diagnostics and Debugging

- **loglevel** *level*

  Set the loglevel of the TLP Profiles Daemon (tlp-pd). Valid levels are: **info** and **debug**.

### Information

- **version**, **--version**

  Display version information for both the tlpctl client and the TLP Profiles Daemon.

## OPTIONS

- **-h**, **--help**

  Show a help message and exit. Can be used with any command to show command-specific help.

## AUTHORIZATION

An active, unlocked session is required to perform actions. Changing the **loglevel** requires root privilege.

## POWER PROFILES

- **performance**

  Optimizes the system for maximum performance at the cost of higher power consumption. Recommended for demanding workloads. TLP default when running on AC power.

- **balanced**

  Provides a balance between performance and power consumption. Suitable for general-purpose use. TLP default when running on battery power.

- **power-saver**

  Optimizes the system for maximum battery life at the cost of reduced performance. Recommended for maximizing battery runtime.

## EXAMPLES

- List available profiles:

  ```
  $ tlpctl list
  ```

- Switch to the power-saver profile:

  ```
  $ tlpctl power-saver
  ```

- Get the currently active TLP profile:

  ```
  $ tlpctl get
  ```

- Launch a game with the performance profile:

  ```
  $ tlpctl launch --profile performance --reason "Gaming" steam
  ```

- Launch a command with default performance hold:

  ```
  $ tlpctl launch make -j8
  ```

- List current TLP profile holds:

  ```
  $ tlpctl list-holds
  ```

## EXIT STATUS

- **0**

  Success

- **1**

  General error (Invalid arguments, tlp-pd refuses the operation, D-Bus communication failure)

- **Other**

  When using **launch**, the exit status of the launched command is returned.

## SEE ALSO

[**tlp**(8)](/tlp/8.md), [**tlp-stat**(8)](/tlp-stat/8.md), [**tlp-pd**(8)](/tlp-pd/8.md).

TLP documentation: \<https://linrunner.de/tlp\>

## BUGS

Report bugs to: \<https://github.com/linrunner/TLP/issues\>.

## AUTHOR

(c) 2026 Thomas Koch \<linrunner at gmx.net\>
