# The agent isn't appearing

Diagnose an installed SDK that never renders, from the browser console and network tab down to the specific cause.

The snippet is on the page and nothing shows up. Work through these in order: each step narrows the problem to a different layer, and the first one that fails is your answer.

## 1. Did the SDK object get created?

In the browser console:

```js
typeof window.foldspace
```

The snippet defines `window.foldspace` synchronously, before any network request. If this returns `"undefined"`, the snippet itself never executed. Either it isn't on the page, or something blocked it: check the console for a Content Security Policy error, since the snippet is an inline script and a CSP without `'unsafe-inline'` blocks it outright.

## 2. Did the loader script load?

Open the network tab and look for `script.eucerahive.io/web/sdk/foldspace.js`.

| What you see | What it means |
| :--- | :--- |
| No request at all | The snippet didn't run. Go back to step 1. |
| Blocked, or a CSP error naming `script-src` | Your [Content Security Policy](/security/csp/) doesn't allow the script host. |
| Failed or timed out | The host is unreachable. Check the [domain allow list](/security/domain-allow-list/) and any browser extension that blocks trackers. |
| Loaded, status 200 | The SDK is present. Continue to step 3. |

## 3. Does the SDK reach ready?

```js
foldspace('when', 'ready', () => console.log('ready'));
```

If `ready` never logs, the SDK loaded but couldn't initialize. Look at the requests to `rte.eucerahive.io`.

## 4. Check the key

A **400** from `rte.eucerahive.io/settings/v1/…` or `rte.eucerahive.io/feature-flags/evaluate` means the key in the loader URL was rejected, and the SDK stops before rendering anything.

The `?k=` parameter takes the **product key**, which looks like `EU-XXXXXXXXXXXX-1-1`. This is not the same value as the agent's API name that `foldspace.agent()` takes. Passing the agent name as the product key is a 400 and a silent failure.

Both values are in **Agent Studio → Setup**.

## 5. Check where you mounted it

If the SDK reaches ready and the requests all succeed, the agent is running and the problem is placement, not loading.

- In `EMBEDDED` mode, the container element you named has to exist when the agent mounts. If it renders later, mount the agent after it.
- Check that the container isn't zero-height or clipped by an ancestor's `overflow`.
- Confirm the agent is published. An unpublished agent has nothing to render.

## Still stuck

Turn on [test mode](/reference/test-mode/) to see what the agent is doing, or [contact support](/start/support/) with the console output and the failing request from the network tab.
