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

# Troubleshooting

> Resolve common setup, media, and session problems.

## The server entry fails in the browser

`digital-human/server` intentionally fails closed in browser builds. Move the
client creation and every API-key operation to a server route. Import browser
types from `digital-human` and React helpers from `digital-human/react`.

## Camera or microphone permission is denied

* Confirm the page uses HTTPS outside local development.
* Check browser and operating-system permissions.
* Use LiveKit's `PreJoin` to let the user select available devices.
* Pass `audio={false}` or `video={false}` when your experience does not require
  that track.

## Remote audio does not start

Browsers may block audio until the user interacts with the page. Keep
LiveKit's start-audio UI available and begin the call from a user gesture.

## The digital human is not visible

* Confirm that the session is active and `connection` is not `null`.
* Confirm the page contains `DigitalHumanVideo` within `DigitalHumanRoom`.
* If you passed `participantIdentity`, verify that it matches the remote
  participant.
* Show a fallback while waiting for the remote camera track.

## The API returns 403

Check that the key has the scope required by the method. Session creation,
reading, and ending have separate scopes.

## The API returns 409

An idempotency key was reused for a different request or for a session that is
already terminal. Generate a new key for a new intended session.

## The session stopped accepting its token

Call your authenticated server refresh route. That route should call
`getSession(sessionId)` and return the new `SessionConnection` if the session
is still connectable.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.