Rust Shell
Switch branches/tags
Clone or download
Failed to load latest commit information.
src Set proper OpenSSL environment variables Apr 16, 2018
.travis.yml Make musl and SSL work Mar 13, 2018
LICENSE-MIT Add support for `--stdin` when recording Apr 10, 2018


Build Status

A reimplementation of the asciinema command line program written in Rust.


Prebuilt asciinema binaries can be downloaded from GitHub releases. There are no dependencies and the binary can be run directly once downloaded.

(asciinema is not available on due to


This program intends be a drop-in replacement for the official asciinema python client program. Accordingly, the official documentation serves as documentation for this version as well. If you find behavior differences, please file an issue.

# Record terminal and upload it to
asciinema rec

# Record terminal to local file:
asciinema rec demo.cast

# Record terminal and upload it to, specifying title:
asciinema rec -t "My git tutorial"

# Record terminal to local file, limiting idle time to max 2.5 sec:
asciinema rec -i 2.5 demo.cast


Below is an example recording where the program records itself.

Feature Parity

We are not yet at 100% parity with the official binary. This project welcomes contributors and is a great project for Rust beginners. Please contribute!

Record (asciinema rec)

Auth (asciinema auth)

  • Authenticate via an install-id

Upload (asciinema upload)

  • Upload saved asciicast session

Play (asciinema play)

Cat (asciinema cat)

  • Support for local files
  • Support for remote files


asciinema is licensed under either of the following, at your option:

Note that the reference python implementation is licensed under GPLv3. This program is developed without looking at or using any of the code.