---
name: "transmission-remote"
section: "1"
platform: "linux"
package: "transmission-cli"
version: "4.1.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/transmission-remote"
---

# transmission-remote(1)

a remote control utility for transmission-daemon(1) and transmission(1)

## NAME

**transmission-remote** – a remote control utility for [transmission-daemon(1)](/transmission-daemon/1.md) and [transmission(1)](/transmission/1.md)

## SYNOPSIS

**transmission-remote** \[*host:port* \| *host* \| *port*\] \[**-a** *filenames-or-URLs*\] \[**-as**\] \[**-AS**\] \[**-asd** *number*\] \[**-asu** *number*\] \[**-asc**\] \[**-ASC**\] \[**-b**\] \[**-c** *path* \| **-C**\] \[**-d** *number* \| **-D**\] \[**-e** *size*\] \[**-er** \| **-ep** \| **-et**\] \[**--exit**\] \[**-f**\] \[**-F** *filter*\] \[**-g** *files*\] \[**-G** *files*\] \[**-gisl** *number*\] \[**-GISL** *number*\] \[**-gsr** *ratio*\] \[**-GSR**\] \[**-h**\] \[**-i**\] \[**-ic**\] \[**-ids**\] \[**-if**\] \[**-ip**\] \[**-isl** *number*\] \[**-ISL** *number*\] \[**-isld**\] \[**-it**\] \[**-j**\] \[**-l**\] \[**-m** \| **-M**\] \[**-n** *user:pass*\] \[**-ne**\] \[**-N** *netrc*\] \[**-o** \| **-O**\] \[**-p** *port*\] \[**-Bh**\] \[**-Bn**\] \[**-Bl**\] \[**-ph** *files*\] \[**-pl** *files*\] \[**-pn** *files*\] \[**-pr** *peers*\] \[**-r**\] \[**-rad**\] \[**-s** \| **-S**\] \[**-sr** *ratio*\] \[**-SR**\] \[**-srd**\] \[**-si**\] \[**-st**\] \[**-t** *all* \| *active* \| *id* \| *hash*\] \[**-hl**\] \[**-HL**\] \[**-u** *number* \| **-U**\] \[**-utp** \| **-no-utp**\] \[**-v**\] \[**-V**\] \[**-w** *download-dir*\] \[**-x** \| **-X**\] \[**-y** \| **-Y**\] \[**-pi**\]

## DESCRIPTION

**transmission-remote** is a remote control utility for [transmission(1)](/transmission/1.md) and [transmission-daemon(1)](/transmission-daemon/1.md).

By default, **transmission-remote** connects to the transmission session at localhost:9091. Other sessions can be controlled by specifying a different host and/or port.

## OPTIONS

- **-a** **--add** *filenames-or-URLs*

  Add torrents to transmission.

- **-b** **--debug**

  Enable debugging mode.

- **-as** **--alt-speed**

  Use the alternate Limits.

- **-AS** **--no-alt-speed**

  Don't use the alternate Limits.

- **-asd** **--alt-speed-downlimit** *limit*

  Limit the alternate download speed to *limit* kilobytes per second.

- **-asu** **--alt-speed-uplimit** *limit*

  Limit the alternate upload speed to *limit* kilobytes per second.

- **-asc** **--alt-speed-scheduler**

  Use the scheduled on/off times.

- **-ASC** **--no-alt-speed-scheduler**

  Don't use the scheduled on/off days and times.

- **--alt-speed-time-begin** *time*

  *Time* to start using the alt speed limits (in hhmm).

- **--alt-speed-time-end** *time*

  *Time* to stop using the alt speed limits (in hhmm).

- **--alt-speed-days** *days*

  Set the number of *days* on which to enable the speed scheduler, using a list such as "2,4-6".

- **--torrent-done-script** *filename*

  Specify a *file* to run each time a torrent finishes

- **--no-torrent-done-script**

  Don't run any script when a torrent finishes

- **-c** **--incomplete-dir** *dir*

  When adding new torrents, store their contents in *directory* until the torrent is done.

- **-C** **--no-incomplete-dir**

  Don't store incomplete torrents in a different directory.

- **-d** **--downlimit** *limit*

  Limit the maximum download speed to *limit* kB/s. If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting.

- **-D** **--no-downlimit**

  Disable download speed limits. If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting.

- **-e** **--cache** *size*

  Set the session's maximum memory cache size in MiB. This cache is used to reduce disk IO.

- **-er** **--encryption-required**

  Encrypt all peer connections.

- **-ep** **--encryption-preferred**

  Prefer encrypted peer connections.

- **-et** **--encryption-tolerated**

  Prefer unencrypted peer connections.

- **--exit**

  Tell the Transmission to initiate a shutdown.

- **-f** **--files**

  Get a file list for the current torrent(s)

- **-g** **--get** *all* \| *file-index* \| *files*

  Mark file(s) for download. *all* marks all of the torrent's files for downloading, *file-index* adds a single file to the download list, and *files* adds multiple files to the download list, such as "-g1,3-5" to add files #1, #3, #4, and #5 to the download list.

- **-F** **--filter** *filter*

  Filter selected torrents. Further commands will use only torrents that satisfy the filter condition.

  i - currently idle

  u - currently uploading

  d - currently downloading

  n:str - torrent name includes str

  l:label - has label

  r:ratio - Minimum upload ratio

  w - Have some unwanted files

  Prefixing the filter by "~" negates the filter. -F may be specified more than once, and may be preceded by -t. Only torrents that satisfy all the conditions are selected.

- **-G** **--no-get** *all* \| *file-index* \| *files*

  Mark file(s) for not downloading.

- **-gsr** **--global-seedratio** *ratio*

  All torrents, unless overridden by a per-torrent setting, should seed until a specific *ratio*

- **-GSR** **--no-global-seedratio**

  All torrents, unless overridden by a per-torrent setting, should seed regardless of ratio

- **-isl** **--idle-seeding-limit** *minutes*

  Let the selected torrent(s) seed until a specific amount of idle time

- **-isld** **--default-idle-seeding-limit**

  Use the default idle-seeding-limit for the selected torrent

- **-ISL** **--no-idle-seeding-limit**

  Let the selected torrent(s) seed regardless of idle time

- **-gisl** **--global-idle-seeding-limit** *minutes*

  All torrents, unless overridden by a per-torrent, should stop seeding after spending the specified time idling

- **-GISL** **--no-global-idle-seeding-limit**

  All torrents, unless overridden by a per-torrent, should seed regardless of the time spent idle Let the selected torrent(s) seed regardless of idle time

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

  Print command-line option descriptions.

- **-i** **--info**

  Show details of the current torrent(s)

- **-if** **--info-files**

  List the specified torrent's files

- **-ip** **--info-peers**

  List the specified torrent's peers

- **-ic** **--info-pieces**

  List the specified torrent's pieces

- **-it** **--info-trackers**

  List the specified torrent's trackers

- **-j** **--json**

  Return the RPC response as JSON

- **-si** **--session-info**

  List session information from the server

- **-st** **--session-stats**

  List statistical information from the server

- **-l** **--list**

  List all torrents

- **-ids** **--print-ids**

  Print a list of the specified torrent's ids in a format suitable as a parameter for *-t*

- **-L** **--labels** *label1\[,label2\[,...\]\]*

  Set the specified torrent's labels

- **-m** **--portmap**

  Enable portmapping via NAT-PMP or UPnP

- **-M** **--no-portmap**

  Disable portmapping

- **-n** **--auth** *username:password*

  Set the *username* and *password* for authentication

- **-ne** **--authenv**

  Set the authentication information from the *TR\_AUTH* environment variable which must be formatted as *username:password.*

- **-N** **--netrc** *filename*

  Set the authentication information from a *netrc* *file.* See [netrc(5)](/netrc/5.md) for more information.

- **-o** **--dht**

  Enable distributed hash table (DHT).

- **-O** **--no-dht**

  Disable distributed hash table (DHT).

- **-p** **--port** *port*

  Set the *port* for use when listening for incoming peer connections

- **-Bh** **--bandwidth-high**

  Give this torrent first chance at available bandwidth

- **-Bn** **--bandwidth-normal**

  Give this torrent the bandwidth left over by high priority torrents

- **-Bl** **--bandwidth-low**

  Give this torrent the bandwidth left over by high and normal priority torrents

- **-ph** **--priority-high** *all* \| *file-index* \| *files*

  Try to download the specified file(s) first. *all* marks all of the torrent's files as normal priority, *file-index* sets a single file's priority as normal, and *files* sets multiple files' priorities as normal, such as "-pn1,3-5" to normalize files #1, #3, #4, and #5.

- **-pn** **--priority-normal** *all* \| *file-index* \| *files*

  Try to download the specified files normally.

- **-pl** **--priority-low** *all* \| *file-index* \| *files*

  Try to download the specified files last

- **-pr** **--peers** *number*

  Set the maximum number of peers. If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting.

- **-r** **--remove**

  Remove the current torrent(s). This does not delete the downloaded data.

- **-rad** **--remove-and-delete**

  Remove the current torrent(s) and delete their downloaded data.

- **--reannounce**

  Reannounce the current torrent(s). This is the same as the GUI's "ask tracker for more peers" button.

- **--move**

  Move the current torrents' data from their current locations to the specified directory.

- **--rename** *newname*

  Rename files or root folder of a torrent

- **--path** *oldname*

  Provide original path for the rename command

- **--unix-socket**

  Connect using a Unix domain socket.

- **--find**

  Tell Transmission where to look for the current torrents' data.

- **-sr** **--seedratio** *ratio*

  Let the current torrent(s) seed until a specific *ratio*

- **-SR** **--no-seedratio**

  Let the current torrent(s) seed regardless of ratio

- **-srd** **--seedratio-default**

  Let the current torrent(s) use the global seedratio settings

- **-td** **--tracker-add** *tracker*

  Add a tracker to a torrent

- **-tr** **--tracker-remove** *trackerId*

  Remove a tracker from a torrent

- **-s** **--start**

  Start the current torrent(s)

- **-S** **--stop**

  Stop the current torrent(s) from downloading or seeding

- **--start-paused**

  Start added torrents paused

- **--no-start-paused**

  Start added torrents unpaused

- **-t** **--torrent** *all* \| *active* \| *id* \| *torrent-hash*

  Set the current torrent(s) for use by subsequent options. The literal *all* will apply following requests to all torrents; the literal *active* will apply following requests to recently-active torrents; and specific torrents can be chosen by *id* or *hash*. To set more than one current torrent, join their ids together in a list, such as "-t2,4,6-8" to operate on the torrents whose IDs are 2, 4, 6, 7, and 8.

- **--trash-torrent**

  Delete torrents after adding

- **--no-trash-torrent**

  Do not delete torrents after adding

- **-hl** **--honor-session**

  Make the current torrent(s) honor the session limits.

- **-HL** **--no-honor-session**

  Make the current torrent(s) not honor the session limits.

- **-u** **--uplimit** *limit*

  Limit the maximum upload speed to *limit* kB/s. If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting.

- **-U** **--no-uplimit**

  Disable upload speed limits.

- **--utp**

  Enable uTP for peer connections.

- **--no-utp**

  Disable uTP for peer connections. If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting.

- **-v** **--verify**

  Verify the current torrent(s)

- **-V** **--version**

  Show version number and exit

- **-w** **--download-dir** *directory*

  When used in conjunction with --add, set the new torrent's download folder. Otherwise, set the default download folder.

- **-x** **--pex**

  Enable peer exchange (PEX).

- **-X** **--no-pex**

  Disable peer exchange (PEX).

- **-y** **--lds**

  Enable local peer discovery (LPD).

- **-Y** **--no-lds**

  Disable local peer discovery (LPD).

- **-pi** **--peer-info**

  List the current torrent's connected peers. In the \`status' section of the list, the following shorthand is used:

  D: Downloading from this peer

  d: We would download from this peer if they would let us

  E: Encrypted connection

  H: Peer was found through DHT

  I: Peer is an incoming connection

  K: Peer has unchoked us, but we're not interested

  O: Optimistic unchoked

  T: Peer is connected over uTP

  U: Uploading to peer

  u: We would upload to this peer if they asked

  X: Peer was discovered through Peer Exchange (PEX)

  ?: We unchoked this peer, but they're not interested

- **--blocklist-update**

  Update blocklist from URL specified in remote client's settings with *blocklist-url* key.

## EXAMPLES

List all torrents:

```
$ transmission-remote -l
```

List all active torrents:

```
$ transmission-remote -tactive -l
```

List all torrents with label "abc":

```
$ transmission-remote -F l:abc -l
```

List all torrents with name containing "def" or with label "abc":

```
$ transmission-remote -t $( transmission-remote -F n:def -ids )$( transmission-remote -F l:abc -ids ) -l
```

Rename torrent root folder from "test1/examplefile.txt" to "test2/examplefile.txt"

```
$ transmission-remote -t1 --path test1 --rename test2
```

Set download and upload limits to 400 kB/s and 60 kB/s:

```
$ transmission-remote -d400 -u60
$ transmission-remote --downlimit=400 --uplimit=60
```

Set alternate download and upload limits to 100 kB/s and 20 kB/s:

```
$ transmission-remote -asd100 -asu20
$ transmission-remote --alt-speed-downlimit=100 --alt-speed-uplimit=20
```

Set the scheduler to use the alternate speed limits on weekdays between 10AM and 11PM

```
$ transmission-remote --alt-speed-time-begin=1000
$ transmission-remote --alt-speed-time-end=2300
$ transmission-remote --alt-speed-days=1-5
$ transmission-remote --alt-speed-scheduler
```

List all torrents' IDs and states:

```
$ transmission-remote -l
```

List all torrents from a remote session that requires authentication:

```
$ transmission-remote host:9091 --auth=username:password -l
```

Start all torrents:

```
$ transmission-remote -tall --start
```

Add two torrents:

```
$ transmission-remote -a one.torrent two.torrent
```

Add all torrents in ~/Desktop:

```
$ transmission-remote -a ~/Desktop/*torrent
```

Get detailed information on the torrent whose ID is '1':

```
$ transmission-remote -t1 -i
```

Get a list of a torrent's files:

```
$ transmission-remote -t1 -f
```

Download only its second and fourth files:

```
$ transmission-remote -t1 -Gall -g2,4
```

Set all torrents' first two files' priorities to high:

```
$ transmission-remote -tall -ph1,2
```

Set all torrents' files' priorities to normal:

```
$ transmission-remote -tall -pnall
```

## ENVIRONMENT

- http\_proxy

  Sets the proxy to use for http tracker announces.

## AUTHORS

Charles Kerr, Josh Elsasser, Eric Petit, Mitchell Livingston, and Mike Gelfand.

## SEE ALSO

[transmission-create(1)](/transmission-create/1.md), [transmission-daemon(1)](/transmission-daemon/1.md), [transmission-edit(1)](/transmission-edit/1.md), [transmission-gtk(1)](/transmission-gtk/1.md), [transmission-qt(1)](/transmission-qt/1.md), [transmission-remote(1)](/transmission-remote/1.md), [transmission-show(1)](/transmission-show/1.md)

https://transmissionbt.com/
