clearing cache to call hooks in .module file I have created a token in .module file. that gives current node title.

But every-time I change the title of node, I have to rebuilt cache so that updated title get reflected in my token.

Of-course clearing cache again and again on every page refresh is not a good idea.

Any other way to call hook_token_info and hook_tokens automatically on every page load?

PS: I also installed "token" module and this module is using hook_module_implements_alter(&amp;$implementations, $hook).

@edit:

function hook_token_info() {
    $info = array();
    $info['tokens']['etf']['node-title'] = array(
    'name' =&gt; t('Node Title'),
    'description' =&gt; t("Provides current node title."),
    'type' =&gt; 'etf',
    );
    return $info;
}

function hook_tokens($type, array $tokens, array $data = array(), array $options = array(), BubbleableMetadata $bubbleable_metadata) {
  $replacements = array();

  $url_options = array('absolute' =&gt; TRUE);
  if(isset($options['langcode'])) {
      $url_options['language'] = \Drupal::languageManager()-&gt;getLanguage($options['langcode']);
      $langcode = $options['langcode'];
  }
  else {
      $langcode = NULL;
  }
  $request = \Drupal::request();
  $route = $request-&gt;attributes-&gt;get(RouteObjectInterface::ROUTE_OBJECT);
  $title = \Drupal::service('title_resolver')-&gt;getTitle($request, $route);
  if ($type == 'etf') {

    foreach ($tokens as $name =&gt; $original) {
      switch ($name) {
              case 'node-title':
              $replacements[$original] = $title;
//              drupal_flush_all_caches();
//              sleep(2);
              break;
       }
    }

  }
  return $replacements;
}


All code is written in .module file
Short
This is wrong use of tokens, it can never work.
Long
So what you are doing is incorrect usage of tokens. The idea with tokens, is that you have some data object, like a Node, a User etc and based on that you can output something from that object, like the label, uri etc.
Tokens aren't designed to load data from somewhere and display it. For Drupal 8 with all the new caches, it's even more tricky, but even for Drupal 7 this would not work. The reason is that the result of token replacement is cached, since the idea with tokens is that it will always be the same (as long as the data objects which are used for to make the tokens do not change.
To achieve this feature, you would need to load the current node and make it available in the texts where you want to use it as a token, and for Drupal 8 you would also need to add cache context of the url. If I knew what you are using this for, I might be able to give a more precise advise on what the best way would be to achieve this.