Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to tweet a message using terminal.

I tried something like:

curl -u 'TwitterUsername':'TwitterPassword' -d status=”Your Message Here” https://twitter.com/statuses/update.xml

but seems this isn't working anymore.

I get a error like this one:

<?xml version="1.0" encoding="UTF-8"?>
    <error code="53">Basic authentication is not supported</error>

So, how could we tweet from the terminal?

PS.: my motivation to this is because I use the Yakuake terminal a lot, and it would be awesome to tweet from there.

share|improve this question
up vote 6 down vote accepted

This error message is because Twitter needs OAuth for authentication. Take a look at TTYtter if you don't mind a Perl app:

Noooo, not another Twitter client! Yes, another Twitter client. The difference here is that you're dealing with a multi-functional, fully 100% text, Perl command line client.

  • In interactive mode, it is a fully interactive client with asynchronous background updates and commands. Use it over telnet, ssh or even a dummy terminal. Supports Streaming API, ANSI colour, UTF-8, hashtags and Twitter Search!
  • Works within your favourite environment: use a compatible readline library (like our own bespoke Term::ReadLine::TTYtter), or modify prompt and input methods for many popular window and session managers. Or don't: basic editing and screen management features built-in.
  • From the command line, use it to update your Twitter in shell scripts, from cron, and so on.
  • Security: Supports Twitter OAuth and HTTP Basic Authentication, and SSL where supported by your user agent.
  • Notification support with Growl and libnotify (and extendable to others via the API).
  • Geolocation support: hand your GPS coordinates to TTYtter for any application.
  • Lists support, including fast creation and modification, and merging lists with your timeline as "custom timelines."
  • Supports Twitter-alike APIs such as StatusNet and Identi.ca.
  • Supports standard timelines and automatically fetches direct messages, and optionally replies/mentions, and runs queries against the Search API and incorporates them into your timeline as well.
  • New and old re-tweet support.
  • Write and use your own custom extensions!
  • Run detached in -daemon mode, and make your own Twitter bot!
share|improve this answer
+1 for TTYtter. I'm not a huge fan of Twitter, but it's definitely is one of the better clients. The Irssi plugin isn't that great, compared to TTYtter. – polemon Jul 1 '12 at 17:04

Try T. Very powerful, easy to use and written in Ruby.

For example, you can tweet directly from the terminal, by executing:

t update "I'm tweeting from the command line."
share|improve this answer

Take a look at Rainbow Stream - smart/beautiful and written in Python. It provides a rainbow shell which can start by

$ rainbowstream

and inside the app, updating a status is quite easy with

[@yourTwitterName]: t tweeting from #rainbowstream
share|improve this answer
Interesting Software. But could you given an example of how to tweet directly from the console? Since the question is about tweeting directly from the console. – Raphael Ahrens Jul 18 '14 at 4:24
Thanks, I updated my answer. – DTVD Jul 18 '14 at 13:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.