# Script errors

Errors thrown by your pages’ scripts are counted on the Errors page, by message.

An error thrown by a script on the page and not caught, and a promise rejected with nothing to handle it, both of which usually show in the browser’s console. Each is counted under its message, where it was thrown, as the script’s file and line, and the page it was on.

## Where they show

Click Script errors among the [Errors page](https://fiveb.ar/docs/errors.md#where-errors-show)’s tiles to see them on the whole page: a chart of them, the browsers, sources and devices they came from, and every message by how often it came, each with an icon for its kind, such as a `TypeError` or a `ReferenceError`. The pages they were on, and their rate, the script errors for each page load, take the place of the page errors’.

## Fixing one with a coding assistant

Each message has a copy button, shown as you point at its row, that copies it for a coding assistant working on your site, such as Claude Code or Cursor: the message, where it was thrown, its page and how often, as a request to fix it, with the error’s id.

The id is the same every day the error is thrown. An assistant [connected to fivebar over MCP](https://fiveb.ar/docs/mcp.md) reads the error back by it with `get_script_error`, for its browsers, devices and counts by day, and can check after a fix that it has stopped.

## What’s counted

- A page sends up to three, each message once, so one error thrown in a loop counts once a page.
- A script from another site, such as an advert’s, gives the browser no more than “Script error.”, which isn’t counted.
- In a message, an email address becomes `@`, a query string `?`, and a long number or id `#`, so that nothing a visitor typed is kept. Up to 200 characters are kept.
- A script error isn’t a page error, so it doesn’t change the error rate or the counts of [error pages](https://fiveb.ar/docs/errors/server.md).

## API and MCP

The [API](https://fiveb.ar/docs/api.md#parameters-for-a-pane) reads them as the `script-errors` pane, and so does an app [connected over MCP](https://fiveb.ar/docs/mcp.md), whose `fix_script_errors` question hands a coding assistant a site’s script errors to fix in one go.

## Turning them off

`data-script-errors="off"` on the tag stops the script sending them.

```
<script async data-domain="example.com" data-script-errors="off" src="https://fiveb.ar/js/tally.js"></script>
```

---

fivebar is web analytics without cookies, at https://fiveb.ar. Every page of its docs is listed at https://fiveb.ar/docs/index.md.
