New Twitter Client: Twidge

I’ve lately been thinking about Twitter. I wanted some way to quickly post tweets from the command line. But I also wanted to be able to receive them in a non-intrusive way on all my machines. And I wanted to work with Twitter and both.

Nothing quite existed to do that, so I wrote Twidge.

Twidge is a command-line Twitter client. It can be run quite nicely interactively, with output piped through less. Or you can run it as a unidirectional or bidirectional mail gateway. Or you can use its parser-friendly output options to integrate it with shell scripts or other programs.

It’s got an 11-page manual (which is also its manpage). User-friendly in the best tradition of command line programs.

And it’s released today. The source packages include the debian/ directory for you to use for building them, but I’ve also posted an i386 binary that runs on etch and sid on my webpage, until it gets out of NEW.

See the homepage for more info.

Oh, it’s written in Haskell, by the way.

20 thoughts on “New Twitter Client: Twidge

  1. I’ve been using python-twitter [0][1] to post on twitter from the command line, so far it works fine (though i’ve seen some bug reports on the mailing list)
    Also comes with a small script to post to twitter and one to read the twits of the people on your following-list.

    BTW, i’ve been waiting for something similar but for, now i can finally leave twitter and their greatest uptime ;)


    1. This project is somewhat similar to Python-twitter, but has some different goals. It’s designed to be a “command line API” to work well with shell scripts and programmers using any language. It’s also designed around config files and ability to switch to different APIs.

      On the other hand, it is not really designed to provide a language-specific API, Python or Haskell.

      So a different tool to scratch a different itch.

  2. I’m running ubuntu with utf-8 locale.

    I try twidge and get strange output for cyrillic posts.

    See this [url=]screenshot[/url]

  3. It doesn’t work for me because curl complains about the server certificate. It looks like Twitter’s SSL certificate is invalid… is there any way to pass the -k flag through to curl?

    1. Weird. I haven’t seen that.

      Anyhow, there are a few things you could do.

      You could edit your ~/.twidgerc and make Twidge use non-SSL communication with Twitter. Just set urlbase =

      Or, you could add the line insecure to ~/.curlrc, though that will impact more than just Twidge.

      I’ll add a curlrc option to the Twidge config file so you can set your own options for Twidge only.

  4. This is a great tool! I just wanted to post to Twitter without leaving the command line while working. This suits my needs perfectly! Thank you.

  5. Twidge is no longer supporting twitter, is it because of the changed authorization method in twitter API? Could you please give support for OAuth in twidg ?

    1. Not true. Twidge has supported OAuth since version 1.0.1, which was released back in June already. The current version is 1.0.5 and there are instructions on the FAQ page on the wiki of how to switch.

    1. interesting… the problem only appears when updating with one-liner: twidge update ‘cyrillic message’…but not when twetting interactively:
      twidge update
      …and then typing the tweet =/

  6. I have a locale problem as well, system is running utf8, but tweeted scandinavian characters (æøåÆØÅ) are faulty.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.