Build Status


Simple Ruby Trello Command Line Interface


Install the trello_cli gem

gem install trello_cli

Or install using docker via the instructions provided by @jamesmstone.

docker pull jamesmstone/trello


Sign-in to as the user you want to use for trello_cli.

Get API key (open this link in a web browser):

The top field contains your Developer API Key. Use it to replace YOUR_API_KEY in the member token links below as well as the TRELLO_DEVELOPER_PUBLIC_KEY environment variable.

Next, get a member token. You will need to replace YOUR_API_KEY in the links below with the API key obtained in the previous step.

To get a read only member token:

To get a read / write member token:,write

Set the api key and member token environment variables:

export TRELLO_MEMBER_TOKEN=member_token


The CLI takes the following form:


To see a list of targets:

# trello -h
trello [board|card|list] [command] OPTIONS
Append -h for help on specific target.

To see a list of commands for a given target:

# trello card -h
Valid commands for card: create, list
For further help, append -h to sub command.

To see help for a specific command:

# trello card create -h
Usage: trello card [create] [options]
    -b, --board [BOARD]              Trello Board Id
    -d, --description [DESCRIPTION]  Description Of Card
    -l, --list [LIST]                List Of Card
    -n, --name [NAME]                Name Of Card

Usage with docker

docker run -it --rm \

Output Formatters

To allow for piping output to other utilies, the output of any command can be format as either TSV (Tab Seperated Values) or JSON.

JSON Output

# trello board list -o json

This can be used with tools like jq to parse the data:

# trello board list -o json |jq '.[0] | {id}'
  "id": "123456781234567812345678"

TSV Output

# trello board list -o tsv
123456781234567812345678  board1
876543218765432187654321  board2

For example, you can grep out specific cards and then cut specific fields:

# trello board list -o tsv |grep board1 |cut -d$'\t' -f 1

The default is currently set to output as legacy to match previous versions of the trello CLI. This will be changed to TSV or another human format in a future release.


List the boards available to the given credentials:

trello board list

List the lists for a given board id and output as a TSV list:

trello list list -b 123 -o tsv

Create a card and output as JSON:

trello card create -b 123 -l 321 -n 'card name' -d 'card description' -o json

Wrapper Script

If you find yourself adding the same arguments, it can be helpful to create a wrapper script. For example see


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request