Wunderlist for your command line!

npm styled with prettier Build Status


npm install -g wunderline


Wunderline requires you to create your own Wunderlist application and store the client id and an access token locally. You can create a new application here.

When creating an application you will be asked for an app url and an auth callback url, you can just use dummy values for these.

Once that's done, click CREATE ACCESS TOKEN as highlighted here:


Your ACCESS TOKEN will show up above

access-token modal

Now you can run wunderline auth and enter the values.


$ wunderline --help


    auth            Authenticate Wunderline
    add [task]      Add a task to your inbox
    done            Mark a task as done
    inbox           View your inbox
    starred         View starred tasks
    today           View tasks due today
    week            View tasks due this week
    all             View all of your tasks
    overdue         View overdue tasks
    search [query]  Search your tasks
    list [query]    Search your lists
    lists           List your lists
    open            Open Wunderlist
    export          Export your data
    whoami          Display effective user
    gc              Delete completed tasks
    set-platform    Set your preferred application platform
    flush           Flush the application cache
    help [cmd]      display help for [cmd]


    -h, --help     output usage information
    -V, --version  output the version number

Adding Tasks

Add tasks to your inbox.

$ wunderline add Hello, World!

The add command also supports creating tasks from stdin.

$ cat todo.txt | wunderline add --stdin

You can also add tasks to a list, that list will be created if it doesn't exist.

$ wunderline add Hello, World! --list Greetings

Due dates are now supported using one of the following options.

$ wunderline add Hello, World! --today --tomorrow --due 2015-12-25

You can add subtasks at task creation time.

$ wunderline add 'Run a marathon' --subtask 'Train for the marathon' --subtask 'Register for the marathon'

Completing Tasks

Tasks can be completed using the done subcommand.

$ wunderline done

completing tasks

Viewing Lists

All of Wunderlists smart lists are supported, so there are various ways to see what tasks you have to do.

$ wunderline inbox
$ wunderline starred
$ wunderline today
$ wunderline week
$ wunderline all

Alternatively, you can view any other list by using the list subcommand.

$ wunderline list shopping


Open Wunderlist, defaults to opening the web app.

$ wunderline open

The only other platform currently supported is mac, use the set-platform command to change your settings.

$ wunderline set-platform mac


Exports your data to stdout.

$ wunderline export > export.json

Filtering with jq

The export command will give you all of your data, unfiltered, which can be a lot. If you'd like to search, filter or manipulate your data then check out jq.

Here are some examples, filtering out completed and starred tasks.

wunderline export | jq '.data.lists[].tasks[] | select(.completed == true)'
wunderline export | jq '.data.lists[].tasks[] | select(.starred == true)'

Bonus Points

Ack / Ag

You could search for the word "todo" in a project and pipe the input into wunderline. Each line will be parsed and turned into a task, be careful because this could result in a lot of tasks!

This might be a terrible idea, even useless at best, but hopefully it will get you thinking.

$ ag todo --nocolor --nofilename | wunderline add -s


wunderline uses request so if you want to inspect api requests just set the NODE_DEBUG variable.

$ NODE_DEBUG=request wunderline inbox


MIT © Wayne Ashley Berry

Made by Jason, Chris and Shawn

© 2020 Builtneat, Inc. All rights reserved.