gamgee: Tool for generating TOTP MFA tokens.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

Tool for generating TOTP MFA tokens. Please see the README on GitHub at

[Skip to Readme]


Versions 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.2.2, 1.2.2
Change log
Dependencies aeson (==, base (==, base64-bytestring (==, bytestring (==, cryptonite (==0.27), directory (==, filepath (==, gamgee, Hclip (==, memory (==0.15.0), optparse-applicative (==, polysemy (==, relude (==, safe-exceptions (==, text (==, time (==1.9.3), unix (== [details]
License MPL-2.0
Copyright 2018-2021 Raghu Kaippully, Alexander Shestakov
Author Raghu Kaippully
Category Authentication, Command Line
Home page
Bug tracker
Source repo head: git clone
Uploaded by rkaippully at 2021-04-14T10:15:18Z




Maintainer's Corner

For package maintainers and hackage trustees

Readme for gamgee-1.2.2

[back to package description]

Build Status Release Hackage


Gamgee is your sidekick for managing multi-factor authentication tokens. It is a command-line tool that can be used as a drop-in replacement for Google Authenticator app or any other similar app providing multi-factor authentication using Time-based One-Time Password (TOTP) algorithm.

Gamgee implements the TOTP algorithm specified in RFC6238


On MacOS, install using homebrew:

brew install rkaippully/tools/gamgee

See other releases here:


Gamgee is a replacement for apps like Google Authenticator or Authy that are used to generate TOTP tokens. Typically, such tools scan a QR code to create an account. Gamgee cannot scan a QR code (yet), but you can instead get a secret token from your service and add that to Gamgee.

  1. Go to the multi-factor authentication setup page of your service (such as Github, Gmail, etc). You will see a QR code in that page and instructions to scan it with an app.
  2. Look for a link in the page that gives alternative installation instructions. For example, many services include a "Can't scan barcode?" or "Enter this text code" link next to the QR code. Follow that link.
  3. Note down the secret code mentioned in the page. Once you get the secret, create a token with this command:
gamgee add -l "<token-label>" -s "<secret-code>"

token-label is a convenient label that you choose for this token.

Now you are ready to generate an OTP with your token:

gamgee <token-label>

This will generate an OTP and copy it to your clipboard. You can paste it into your authentication service. Alternatively, you can write the OTP to standard output with:

gamgee <token-label> --stdout

You can find a list of all your tokens with:

gamgee list

You can also remove a token if it is no longer needed. Please remember that this cannot be undone:

gamgee delete -l "<token-label>"

Polysemy stores the tokens in a configuration file under your home directory. You can find the location of this file (along with some other details) by running:

gamgee info


Gamgee is distributed under Mozilla Public License 2.0. See the file LICENSE for details.

This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0.