> ## Documentation Index
> Fetch the complete documentation index at: https://developer.suki.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# NetworkOffline or OfflineSaveFailed on Headless Web SDK

> Fix Headless start when the browser is offline, or submit when IndexedDB cannot save

Headless Web SDK returns **`NetworkOffline`** when you start a session with no network. It returns **`OfflineSaveFailed`** when submit cannot save an offline session in IndexedDB.

These are Headless errors. Mobile SDK offline upload uses different event names. See [Offline upload failures on Mobile SDK](/documentation/troubleshooting/offline-upload-failures-mobile) for that path.

| When | Error | Meaning |
| :- | :- | :- |
| Start | `StartSessionFailed` with reason `NetworkOffline` | No active internet connection |
| Submit | `SubmitSessionFailed` with reason `OfflineSaveFailed` | Could not store the offline session in IndexedDB |

## Common causes

* No network when you call start.
* IndexedDB is full, blocked, or unavailable on submit.
* Private browsing or a policy that blocks storage for your site.
* Closing the SDK after `OfflineSaveFailed` before you retry submit.

## Fix NetworkOffline

<Steps>
  <Step title="Check the Network">
    Restore connectivity, then retry start.
  </Step>

  <Step title="Confirm the Error Shape">
    On Platform Client, look for `code: "StartSessionFailed"` and `reason: "NetworkOffline"`. In React, `start` may throw a string that includes those values.
  </Step>

  <Step title="Retry After Reconnect">
    When the network returns, start again.
  </Step>
</Steps>

## Fix OfflineSaveFailed

<Steps>
  <Step title="Free Browser Storage">
    Clear cache or IndexedDB for your origin if storage is full, then retry submit.
  </Step>

  <Step title="Retry Submit While the Session Is Open">
    If you close the SDK after `OfflineSaveFailed` without a successful save, session data can be lost. Retry submit first.
  </Step>

  <Step title="Check IndexedDB Access">
    Confirm the browser allows persistent storage for your site (including private mode and enterprise policies).
  </Step>
</Steps>

<Warning>
  `OfflineSaveFailed` means the offline session was not stored. Free storage and retry submit before you close the SDK.
</Warning>

## Next steps

<Icon icon="file-lines" iconType="solid" /> **[Headless Web SDK error handling](/headless-web-sdk/guides/error-handling)** - `NetworkOffline`, `OfflineSaveFailed`, and related start or submit errors

<Icon icon="file-lines" iconType="solid" /> **[Offline upload failures on Mobile SDK](/documentation/troubleshooting/offline-upload-failures-mobile)** - Mobile offline buffer and upload events

<Icon icon="file-lines" iconType="solid" /> **[Manage ambient session](/headless-web-sdk/guides/hooks/ambient-session-hook)** - Start, pause, resume, and submit

<Icon icon="file-lines" iconType="solid" /> **[Microphone permission denied](/documentation/troubleshooting/microphone-permission-denied)** - `AudioRecorderFailure` on start or resume

<Icon icon="file-lines" iconType="solid" /> **[sessionAlreadyExists](/documentation/troubleshooting/session-already-exists)** - Remote ambient conflicts on create
