# Feedback

> File bug reports from your application.

Source: https://maincode.com/docs/agent-sdk-feedback
Section: Agent SDK · Matilda documentation

---

## `runner.feedback.reportBug(params, options?)`

Files a bug report from your application. Reports land as GitHub issues in the internal feedback repository — titled `[SDK] <title>` and labelled `sdk-feedback` — so engineering can triage them directly.

The SDK automatically stamps the report with its package name (`@maincode-ai/matilda-agent-sdk`), package version, and — in Node — the Node.js version, so you usually only need `title` and `description`. Pass the optional fields to override or supply anything else.

```ts title="report-bug.ts"
await runner.feedback.reportBug({
  title: 'runner.stream() hangs after client.tool.execute throws',
  description: 'The run promise never settles when a tool handler throws asynchronously.',
  reproduction: 'Register a tool whose handler throws after an await, then call runner.stream()',
});
```

### Parameters

| Field | Type | Description |
| - | - | - |
| `title` | `string` | One-line summary of the bug (required, max 200 chars). |
| `description` | `string` | What went wrong (required, max 4000 chars). |
| `reproduction` | `string` | Optional steps to reproduce (max 4000 chars). |
| `package` | `string` | Reporting package name — defaults to this SDK's package name. |
| `packageVersion` | `string` | Reporting package version — defaults to this SDK's version. |
| `nodeVersion` | `string` | Node.js version — auto-detected in Node, omitted in browsers. |
| `platform` | `'web' \| 'ios' \| 'android' \| 'unknown'` | Client platform. |
| `appVersion` | `string` | Your application's version string. |
| `idempotencyKey` | `string` | Optional key (max 128 chars) so retries don't create duplicate issues. |

Returns `Promise<{ feedbackId: string; acknowledgedAt: string }>`.
