diff --git a/Crypto/Token.hs b/Crypto/Token.hs
--- a/Crypto/Token.hs
+++ b/Crypto/Token.hs
@@ -6,9 +6,10 @@
 module Crypto.Token (
     -- * Configuration
     Config,
+    defaultConfig,
     interval,
     tokenLifetime,
-    defaultConfig,
+    threadName,
 
     -- * Token manager
     TokenManager,
@@ -35,6 +36,7 @@
 import Data.Word
 import Foreign.Ptr
 import Foreign.Storable
+import GHC.Conc.Sync (labelThread)
 import Network.ByteOrder
 
 ----------------------------------------------------------------
@@ -48,6 +50,7 @@
     -- ^ The interval to generate a new secret and remove the oldest one in seconds.
     , tokenLifetime :: Int
     -- ^ The token lifetime, that is, tokens can be decrypted in this period.
+    , threadName :: String
     }
     deriving (Eq, Show)
 
@@ -60,6 +63,7 @@
     Config
         { interval = 1800
         , tokenLifetime = 7200
+        , threadName = "Crypto token manager"
         }
 
 ----------------------------------------------------------------
@@ -84,6 +88,7 @@
     writeArray arr 0 ent
     ref <- I.newIORef 0
     tid <- forkIO $ loop arr ref
+    labelThread tid threadName
     msk <- newHeaderMask
     return $ TokenManager msk (readCurrentSecret arr ref) (readSecret arr) tid
   where
diff --git a/crypto-token.cabal b/crypto-token.cabal
--- a/crypto-token.cabal
+++ b/crypto-token.cabal
@@ -1,6 +1,6 @@
 cabal-version: >=1.10
 name:          crypto-token
-version:       0.1.1
+version:       0.1.2
 license:       BSD3
 license-file:  LICENSE
 maintainer:    Kazu Yamamoto <kazu@iij.ad.jp>
@@ -12,7 +12,7 @@
 
 source-repository head
     type:     git
-    location: git://github.com/kazu-yamamoto/crypto-token
+    location: https://github.com/kazu-yamamoto/crypto-token
 
 library
     exposed-modules:  Crypto.Token
