Command line client for
Matt Baer 94f847b8b9 Fix macOS download link 1 month ago
.github CONTRIBUTING: Add import group conventions 8 months ago
api Include anonymous posts in `posts` when auth'd 1 month ago
cmd/writeas Include anonymous posts in `posts` when auth'd 1 month ago
commands Include anonymous posts in `posts` when auth'd 1 month ago
config support tor everywhere 2 months ago
debian Bump version to 1.2 10 months ago
fileutils Fix Exists() test in fileutils 11 months ago
log Closes T592 T593 T597 splits code into packages 2 months ago
.gitignore :rocket: 4 years ago
.travis.yml :rocket: 4 years ago Add release date to v1.0 1 year ago Update GUIDE to reflect `posts` command changes 1 month ago
LICENSE Relicense under GPL 8 months ago Fix macOS download link 1 month ago
go.mod Use go-writeas v2.0.2 1 month ago
go.sum Use go-writeas v2.0.2 1 month ago


GPL Go Report Card Discuss on our forum

Command line interface for Works on Windows, macOS, and Linux.


  • Publish anonymously to
  • Authenticate with a account
  • A stable, easy back-end for your GUI app or desktop-based workflow
  • Compatible with our Tor hidden service
  • Locally keeps track of any posts you make
  • Update and delete posts, anonymous and authenticated
  • Fetch any post by ID
  • Add anonymous post credentials (like for one published with the Android app) for editing


The easiest way to get the CLI is to download a pre-built executable for your OS.


Latest release Total downloads

Get the latest version for your operating system as a standalone executable.

Download the 64-bit or 32-bit executable and put it somewhere in your %PATH%.

Download the 64-bit executable and put it somewhere in your $PATH, like /usr/local/bin.

Debian-based Linux

sudo apt-key adv --keyserver --recv-keys DBE07445
sudo add-apt-repository "deb xenial main"
sudo apt-get update && sudo apt-get install writeas-cli

Linux (other)
Download the 64-bit or 32-bit executable and put it somewhere in your $PATH, like /usr/local/bin.

Go get it

go get

Once this finishes, you'll see writeas or writeas.exe inside $GOPATH/bin/.


To upgrade the CLI, download and replace the executable you downloaded before.

If you previously installed with go get, run it again with the -u option.

go get -u


See full usage documentation on our User Guide.

   writeas [global options] command [command options] [arguments...]

     post     Alias for default action: create post from stdin
     new      Compose a new post from the command-line and publish
     publish  Publish a file to
     delete   Delete a post
     update   Update (overwrite) a post
     get      Read a raw post
     add      Add an existing post locally
     posts    List all of your posts
     blogs    List blogs
     claim    Claim local unsynced posts
     auth     Authenticate with
     logout   Log out of
     help, h  Shows a list of commands or help for one command

   -c value, -b value  Optional blog to post to
   --tor, -t           Perform action on Tor hidden service
   --tor-port value    Use a different port to connect to Tor (default: 9150)
   --code              Specifies this post is code
   --md                Returns post URL with Markdown enabled
   --verbose, -v       Make the operation more talkative
   --font value        Sets post font to given value (default: "mono")
   --lang value        Sets post language to given ISO 639-1 language code
   --user-agent value  Sets the User-Agent for API requests
   --help, -h          show help
   --version, -V       print the version

Contributing to the CLI

For a complete guide to contributing, see the Contribution Guide.

We welcome any kind of contributions including documentation, organizational improvements, tutorials, bug reports, feature requests, new features, answering questions, etc.

Getting Support

We're available on several channels, and prefer our forum for project discussion. Please don't use the GitHub issue tracker to ask questions.

Reporting Issues

If you believe you have found a bug in the CLI or its documentation, file an issue on this repo. If you're not sure if it's a bug or not, reach out to us in one way or another. Be sure to provide the version of the CLI (with writeas --version) in your report.