Configuring Client Timeout

Since the October 2015 cumulative updates, we in the Support team have been asked about configuring timeout for the Dynamics NAV clients, and this post will attempt to give a simple overview on the topic.

Prior to this update, the Dynamics NAV Windows client timeout configuration was managed at the service level by setting the Idle Client Timeout setting. The value is time, so to configure the Dynamics NAV Windows client to time out after 10 minutes of idleness, you would set this key to 00:10:00  and then restart the Dynamics NAV Server service so that the change would take effect.

There are some additional settings involved in the mechanism here, such as ClientServicesReconnectPeriod and ClientServicesMaxNumberOfOrphanedConnections, and you can read about these and the whole topic in greater details in the MSDN Library. As a short version, to configure the client timeout interval it was sufficient to set the Idle Client Timeout setting.

However, the October 2015 cumulative updates added a new setting: ClientKeepAlive. This  setting is managed at the user level and located in the ClientUserSettings.config file. The value of this setting is given in seconds and defines the interval between 'pulse' signals sent by the client to prevent the client from going idle in some scenarios, or for some users.

So as an illustration, since the October 2015 cumulative updates, to configure timeout interval for the Dynamics NAV Windows client to 10 minutes, you must set the following:

  1. In the server configuration file, set Idle Client Timeout  to 00:10:00
  2. In the client configuration file, set ClientKeepAlive  to any value  larger than 600
    This value is in seconds, so 600 equals 10 minutes.

Finally, by popular demand, we changed this in Dynamics NAV 2016 Cumulative Update 8: The ClientKeepAlive setting has been moved from the user level to the service level, and is no longer defined in number of seconds but as a time interval, just like the Idle Client Timeout setting.

So following our example above, to configure a timeout interval for the Dynamics NAV Windows client to 10 minutes, in Dynamics NAV 2016 Cumulative Update 8 and later, you must set the following:

  1. In the server configuration file, set Idle Client Timeout  to 00:10:00
  2. In the server configuration file, set Keep Alive Interval  to a value larger than 00:10:00

To configure the timeout for the Dynamics NAV Web client, it is sufficient to configure the SessionTimeout setting in the web.config file to the relevant interval - in our example it's 00:10:00.

We hope this clarifies the process for setting the timeout for the Dynamics NAV Windows client and Dynamics NAV Web client.


Best regards,

The Dynamics NAV support team


Comments (13)

  1. AntonioCHK says:

    What if I need just 2 o 3 sessions to have a different idle timeout.
    I mean: its ok for 90% of my users to be dropped after a 10 minute idle time, but there a some other sessions I wish to keep always alive. Is this possible?

    1. Henrik says:

      Yes this feature must be based on the individual user not one or nothing. The general users I would typical setup to 10min idel and out but we have setup some specific users on specific PC/Hardware eksampel in Warehouse/production where its not smart to have to login!

      1. anfinnur says:

        Either this does not make sence.
        Or I am missing something here.

        The new feature in 2016 CU08:
        1. In the server configuration file, set Idle Client Timeout to 00:10:00
        2. In the server configuration file, set Keep Alive Interval to a value larger than 00:10:00
        ?both parameters in the server configuration file?

        To us it is like stating “No car is allowed to drive faster than 50 KM/H” AND ALSO stating “All cars are allowed to drive 80 KM/H”.
        Just to make it clear: do I still state the KeepAliveInterval in user’s ClientUserSettings?

        1. @anfinnur
          I can see how this can seem confusing (having both server side), and indeed this wasn’t original design. As of CU 08 we moved the keepalive interval from client side to server side – after feedback that modifying those client settings on all individual client machines could be cumbersome and demanding. So in short – no, you don’t need the client side one

    2. Armondz says:

      Any update?

      So there is no way to set different timeout for different users any more?

  2. Chris Potter says:

    Thanks for sharing this. I had not realised there was a timeout feature and now I can better advise my customers.
    Chris Potter

  3. Henning says:

    In NAV 2016 server I have the Idle Client Timeout set to 00:10:00 and the Reconnect Period set to 00:02:00
    Still both idle NAV client users and idle Web client users stay connected forever (still visible on the “Sessions” page when updated)
    Where can I find the Keep Alive Interval setting and Session Timeout setting?

    1. @Henning: If you are running on a NAV 2016 build earlier then CU 8, your clientkeepalive settings will still be located Client side, in ClientUserSettings.config

      1. Ahmad says:


        It is not working also in NAV 2016 Update 11 Build NAV.9.0.46773.W1

  4. Ahmad says:


    It is not working !!!!!!!!!!!!
    I have set Idel Client Timeout = 00:15:00 & Keep Alive Interval = 00:16:00
    Version is NAV 2016 Update 11 Bulid NAV.9.0.46773.W1

    Please advice

  5. Ales Jeglic says:

    Because of intereference of Keep Alive packets sent at regular interval with Idle Timeout counter the average
    achieved Idle Timeout is “Idle Client Timeout” + “Idle Client Timeout” / 2
    The average achived Idle Client Timeout is nearer to specified when we prolong Keep Alive Interval e.g twice of Idle Client Timeout or more.

    1. Oscar says:

      We have NAV 2017 CU 9 and the system kicks out users in a correct way. The problem is that when a session times out the users get an error message that the connection has been lost. Do you want to reconnect? The users clicks yes and the system returns “The session could not be retrieved from the server. The application will close.”. Is there any configuration missing?

  6. Marcus says:

    I can’t seem to get this to work, even though I’m following the instructions to a tee. I have set the “Client Idle Timeout” to 10 minutes (00:10:00) and added the “ClientServicesKeepAliveInterval key” to the ClientUserSettings.config, as it was not there.

    I’ve tried setting the “ClientServicesKeepAliveInterval key” to l low and high values, meaning below and above 10 minutes. The reason I set it below 10 minutes is that the name indicates that the value is an interval, meaning that the client would perform an action every x minutes to keep the client alive. Not that it would keep the client alive for x minutes. Something to think about Microsoft….

    I’ve tried specifying the value in different ways (seconds, 00:09:00, MaxValue), but none of them seem to work.

    For more information and to possibly help me out, see this post:

Skip to main content