Tweet from the command line with Twidge

Jack Wallen
Nov 13, 2009
Updated • Jan 4, 2018
Companies, Linux, Twitter

For the longest time I refused to see the value in Twitter. Over the last six months I have changed my tune on that. Now I use Twitter primarily as a PR tool for my articles. And since my renewed belief in micro-blogging, I have found plenty of tools with which to enact with Twitter.

One tool I have found to be the least invasive is Twidge. Twidge does not have an application or daemon running in the background. Twidge does not have a panel applet. Twidge doesn't even remain open in the terminal window. Twidge just allows you to enter commands that take specific action on your Twitter account. It's simple, it's fast, and it's...well...command line fu-tastic! With that said, let's install, configure, and use Twidge.


The first thing you need to know is if Twidge offers enough features to convince you to use it. Here is the short list:

  • Simple to use.
  • View activity of friends.
  • Add followers.
  • Follow users.
  • Archiving of your tweets.
  • Automatic URL shortening via

And much more.


As you would expect, twidge can be found in your distribution repositories. So all you need to do is open up a terminal and issue a command like:

sudo apt-get install twidge


yum install twidge


urpmi twidge

The installation will pick up the curl dependency automatically. After Twidge is installed, keep that terminal open because you'll need it (at least to begin with).


In order to use Twidge you have to configure it to authenticate to your account. To do this you have to run a built-in configuration script issued from the command line. Issue the command:

twidge setup

You will be asked two simple questions:

  • Your use(r)name.
  • Your password.

That's it. Now you are ready to start using Twidge.


The basic usage of Twidge is:

twidge update 'STATUS'

Where STATUS is what you want to post to twitter (between single quotes).

Of course updating is not always enough. Twidge has a number of built-in tools. Let's take a look at what they are. NOTE: The basic usage of these tools is:


Where TOOL is the tool you want to use and OPTIONS are any options you want to pass to the tool (if any options are available).

Display updates.

  • lsarchive: List your own posts.
  • lsdm: List direct messages sent to you.
  • lsdmarchive: List direct messages you have sent.
  • lsrecent: Lists recent posts made by you or those you follow.
  • lsreplies: Lists all recent replies made to you.
  • lsfollowers: Lists those following you.
  • lsfollowing: Lists those you are following.

Action commands.

All of these tools are used in the same way the tools above are used, except in certain instances you proceed the tool name with username like so:


Where TOOL is the specific tool you want to use and USERNAME is the user you want to send the information to.

  • dmsend: Send a direct to a user.
  • follow: Follow a specific user.
  • unfollow: Stop following a user.
  • update: Update your status.

So let's say you want to update your status to say "Hey everyone, I am reading a cool article on Ghacks right now!". To do this you would enter the command:

twidge update 'Hey everyone, I am reading a cool article on Ghacks right now!'

and hit enter when you're done.

Let's say, however, you wanted to use I'm instead of I am. The use of a single quote in the middle of that tweet would cause an error. To get around that just enter:

twidge update

and then hit enter. You should notice that you do not get your bash prompt back. What you do now is type in your tweet, without using quotes, and then hit enter. This way you can use contractions without having to worry about proper shell quotes.

Using twidge without command line

Although Twidge is a command line only tool, you can get around opening up a terminal by opening up your desktop's run dialog and then entering your twidge command there. If you're using GNOME you hit <Alt>F2 and then enter the Twidge command in the run dialog. This keeps you from having to have yet another window open, and it's much faster.

Final thoughts

I will make no bones about the fact that Twidge is not nearly as simple as the standard GUI-based tool. But Twidge makes up for that with speed, reliability, and flexibility. Because of its command line nature, you could even create a nifty bash script to use something like fortune and then add that bash script to a cron job so you would get an automatically updated status. Script-fu-tastic!


Tutorials & Tips

Previous Post: «
Next Post: «


  1. Fase said on November 13, 2009 at 11:03 pm

    Great. This will be fantastic for spammers.

  2. awesome said on November 13, 2009 at 6:24 pm

    very cool find. thanks!

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.