Open the app offline
The app opens and shows your threads with no connection to the server. You can read transcripts, switch tabs, copy text and review diffs from a local copy.
Why you would use it
The phone has left wifi, the tunnel is down, or the VCode machine is asleep. You still want to read what the agent wrote, and you do not want an app that opens on "is it running?".
How to use it
Install the app first, or at least open it once over https while the server is reachable. That is what fills the caches.
Open it with no connection. It boots from the cache.

Read and swipe between tabs as usual. The banner stays at the bottom of the screen while you do.

What you see
- The app opens to its last active thread with real history.
- The offline banner (
#offline-banner) appears at the bottom: a rounded amber tint with a pulsing dot,Your host isn't responding. Check your connection.and, on its right,<n> queued(#offline-queue). On a wide screen it has no row of its own: it sits at the left end of the bar across the bottom of the window, so the panes and the text box do not move when it shows. - The connection dot right of the version (
#link-dot) turns amber and readsOFFLINE. Its title isno connection to the VCode server. When connected it is a plain dot with the titleconnected.
Limits and known gaps
- The cached copy is a replica, not the live thread. Nothing moves until the connection comes back.
- Only the newest 30 threads are pre-cached, at most 4 refreshed per sweep, and a replica less than 10 minutes old is not refreshed at all. A thread you have not opened recently can be behind, or empty.
- When the browser's storage quota is full, the replica drops its oldest saved views (down to 90) so the newest one can be written. The outbox is never dropped.
- Pre-caching stops while the tab is hidden, while the open thread is working, and while offline.
- Over plain http there is no service worker, so nothing is cached and there is no offline boot.
- Code in the transcript keeps its colours offline in JavaScript, TypeScript,
JSX, TSX, shell, Python, JSON, CSS, HTML, YAML, SQL, Markdown, INI, TOML,
.envand diffs, and in any other language the app has coloured before on this device. A language it has never coloured shows plain; see formatted-answers.
Related
- queue-a-message-offline: writing while disconnected
- live-updates-and-reconnect: how the app decides it is offline, and how it comes back
- install-on-a-phone
- swipe-between-tabs: what still works from the replica
- diff-review-sheet: reviewable offline, sent when the link returns
- formatted-answers: code colours, and which languages need a first download