Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


GPL Go Report Card #writeas on freenode Discuss on our forum

Command line utility for publishing to any WriteFreely instance. Works on Windows, macOS, and Linux.

The WriteFreely CLI is compatible with WriteFreely v0.11 or later.


  • Authenticate with any WriteFreely instance
  • Publish drafts
  • Manage multiple WriteFreely accounts on multiple instances
  • A stable, easy back-end for your GUI app or desktop-based workflow
  • Locally keeps track of any posts you make
  • Update and delete posts
  • Fetch any post by ID


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.

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 wf or wf.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.

   wf [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
     delete    Delete a post
     update    Update (overwrite) a post
     get       Read a raw post
     posts     List draft posts
     blogs     List blogs
     accounts  List all currently logged in accounts
     auth      Authenticate with a WriteFreely instance
     logout    Log out of a WriteFreely instance
     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
   --host value, -H value  Operate against a custom hostname
   --user value, -u value  Use authenticated user, other than default
   --help, -h              show help
   --version, -V           print the version
You can’t perform that action at this time.