Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Shelr -- tool for terminal screencasting.

Build Status

shelr allows you to record/replay and publish your terminal on Code for service is also available on github.


From gem

You'll need ruby and rubygems installed.

[sudo] gem install shelr

On ubuntu older than precise or debian older than wheezy you should also add following to your .bashrc or .zshrc

export PATH=/var/lib/gems/1.8/bin:$PATH

Watch asciicast for details :)

From packages

Watching other's records in your terminal

shelr play

You can watch them online at

Recording your terminal

shelr record

Recording started. Do what you whant to record... To finish recording type 'exit' or just Ctrl+D.

Publishing your record

shelr push last

When you have some asciicasts at your machine you can pick one:

shelr list
<select id of your record>
shelr push <ID>

There is alias for last record:

If you want private record, provide --private switch:

shelr push last --private

Such record will be accessible by secret URL with access_key.



You need script tool from linux-utils. It's already installed if You use Linux. Note that old school BSD script will not work.


Unfortunally BSD and OSX ship old script wich lack timing support. If You use this systems - install ttyrec via ports macprots or homebrew and setup it as recording backend.

 brew install ttyrec      # OSX
 sudo port install ttyrec # BSD / OSX
 shelr backend ttyrec     # BSD / OSX


(Э) 2010, 2011, 2012 Antono Vasiljev and contributors.

See LICENSE.txt for details.