Follow Discord
Sweep 27 Oct 2026 · 19:04Z Build v2.1.312 531 read Stable v2.1.308 Latest v2.1.312 Next v2.1.312 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-docs

Installation and setup changedthird-party/claude-desktop/installation

Nearest release: v2.1.311, published 16 hours after upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 26 Oct 2026 03:36 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 26 Oct 2026 03:37 UTC.

Upstream edited
Recorded here
Lines+10added
Lines−0removed
From line 202 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits32to this page, all time

### SSH remote sessions with the offline installer

The whole hunk

from line 202, old and new numbered
/
lines
from line 202
202202 
203203Pair the offline installer with [`disableAutoUpdates`](https://claude.com/docs/third-party/claude-desktop/configuration#disableautoupdates). The app cannot reach the update feed from an air-gapped network, and you update the fleet by distributing each new offline installer through your MDM. Also set [`modelCatalogEnabled`](https://claude.com/docs/third-party/claude-desktop/configuration#modelcatalogenabled) to `false`, or point [`modelCatalogUrl`](https://claude.com/docs/third-party/claude-desktop/configuration#modelcatalogurl) at a mirror inside your network. Otherwise the app tries to fetch the signed model catalog from `downloads.claude.ai` at launch and every 5 to 15 minutes after that, and while those requests fail the model picker keeps the names and effort options that ship with the app. With updates and the catalog fetch handled this way, the only egress an air-gapped deployment needs is your inference provider; see [Telemetry and egress](https://claude.com/docs/third-party/claude-desktop/telemetry.md#required-egress-paths).
204204 
205### SSH remote sessions with the offline installer
206 
207With the offline installer, neither the device nor the host needs to reach `downloads.claude.ai` to set up a Linux host for an [SSH remote session](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md). The installed Claude Desktop package then includes copies of the two programs that Claude Desktop [puts on a host](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md#host-requirements), the remote server and the Claude Code engine. Claude Desktop uses those copies without a setting.
208 
209* **Linux hosts**: both programs are included for x64 and arm64, with glibc or musl. Claude Desktop uploads them over the SSH connection. Expect an upload for each user account on a host and each Claude Desktop version, of about 3 MB for the remote server and 100 MB for the engine.
210* **macOS and Windows hosts**: neither program is included. Where `downloads.claude.ai` is blocked, the session fails with a message that the installer doesn't include the programs, so connect to Linux hosts only.
211* **Updates of both programs**: the Claude Desktop version determines the version of both programs. With [`disableAutoUpdates`](https://claude.com/docs/third-party/claude-desktop/configuration#disableautoupdates) set, both programs change on your hosts only when you distribute a new installer. Claude Desktop also starts the engine with [`DISABLE_AUTOUPDATER`](https://code.claude.com/docs/en/env-vars) set to `1`, which turns off the engine's background updates.
212 
213The host still has to reach your inference endpoint and, if configured, your OTLP collector. See [Host requirements](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions.md#host-requirements).
214 
205215## Updates
206216 
207217By default, Claude Desktop downloads updates from Anthropic's update server automatically and applies them the next time the app restarts. If the app hasn't restarted within 72 hours of downloading an update, it restarts itself, waiting for 10 minutes of user inactivity before doing so. This enforcement is always on and offers no in-app prompt to defer the restart; the `autoUpdaterEnforcementHours` key tunes the 72-hour window rather than enabling it.
Feedback