[PR #8130] feat: add offline mode support for air-gapped environments #12625

Open
opened 2026-02-16 18:17:31 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/anomalyco/opencode/pull/8130

State: open
Merged: No


Add comprehensive offline mode to enable OpenCode in closed networks:

  • Add OPENCODE_OFFLINE_MODE environment variable
  • Add timeouts (2-5s) to all external network requests
  • Auto-disable LSP downloads, auto-updates in offline mode
  • Skip share sync and remote config loading offline
  • Add fallbacks for models.dev API fetch failures
  • Add timeout to Installation.latest() version checks
  • Add timeout to remote config (.well-known/opencode)
  • Add timeout to session import from URLs

Modified files:

  • flag/flag.ts: Add OPENCODE_OFFLINE_MODE flag
  • installation/index.ts: Timeout for version checks
  • config/config.ts: Timeout for remote config
  • provider/models-macro.ts: Timeout for models API
  • share/share.ts: Skip in offline mode
  • share/share-next.ts: Skip in offline mode
  • cli/cmd/import.ts: Timeout for URL imports
  • OFFLINE_MODE.md: Complete offline setup guide

What does this PR do?

How did you verify your code works?

**Original Pull Request:** https://github.com/anomalyco/opencode/pull/8130 **State:** open **Merged:** No --- Add comprehensive offline mode to enable OpenCode in closed networks: - Add OPENCODE_OFFLINE_MODE environment variable - Add timeouts (2-5s) to all external network requests - Auto-disable LSP downloads, auto-updates in offline mode - Skip share sync and remote config loading offline - Add fallbacks for models.dev API fetch failures - Add timeout to Installation.latest() version checks - Add timeout to remote config (.well-known/opencode) - Add timeout to session import from URLs Modified files: - flag/flag.ts: Add OPENCODE_OFFLINE_MODE flag - installation/index.ts: Timeout for version checks - config/config.ts: Timeout for remote config - provider/models-macro.ts: Timeout for models API - share/share.ts: Skip in offline mode - share/share-next.ts: Skip in offline mode - cli/cmd/import.ts: Timeout for URL imports - OFFLINE_MODE.md: Complete offline setup guide ### What does this PR do? ### How did you verify your code works?
yindo added the pull-request label 2026-02-16 18:17:31 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#12625