![](/@@/translation-newline)
The refresh command prints pending refreshes of the calling snap and can hold
![](/@@/translation-newline)
back disruptive refreshes of other snaps, such as refreshes of the kernel or
![](/@@/translation-newline)
base snaps that can trigger a restart. This command can be used from the
![](/@@/translation-newline)
gate-auto-refresh hook which is only run during auto-refresh.
![](/@@/translation-newline)
Snap can query pending refreshes with:
$ snapctl refresh --pending
pending: ready
channel: stable
version: 2
revision: 2
base: false
restart: false
![](/@@/translation-newline)
The 'pending' flag can be "ready", "none" or "inhibited". It is set to "none"
![](/@@/translation-newline)
when a snap has no pending refreshes. It is set to "ready" when there are
![](/@@/translation-newline)
pending refreshes and to ”inhibited” when pending refreshes are being
![](/@@/translation-newline)
held back because more or more snap applications are running with the
![](/@@/translation-newline)
“refresh app awareness” feature enabled.
![](/@@/translation-newline)
The "base" and "restart" flags indicate whether the base snap is going to be
![](/@@/translation-newline)
updated and/or if a restart will occur, both of which are disruptive. A base
![](/@@/translation-newline)
snap update can temporarily disrupt the starting of applications or hooks from
![](/@@/translation-newline)
the snap.
![](/@@/translation-newline)
To tell snapd to proceed with pending refreshes:
$ snapctl refresh --pending --proceed
![](/@@/translation-newline)
Note, a snap using --proceed cannot assume that the updates will occur as they
![](/@@/translation-newline)
might be held back by other snaps.
![](/@@/translation-newline)
To hold refresh for up to 90 days for the calling snap:
$ snapctl refresh --pending --hold