# Update account context

> Change the account's audience, goals, product context, topics or rules that every Xholic writer reads. Call it only when the user asked for this in the conversation; never on your own initiative.

`context.update` · write

- **MCP tool:** `update_account_context`. Catalog: reach it with `find_actions` and `run_write_action`, or turn on the full toolset.
- **REST:** `POST /v1/context/update`
- **CLI:** `xholic context update`
- **Scope:** `write`
- **Plan:** Every plan, including the trial
- **Cost:** Free.
- **Rate limit bucket:** `write`

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `targetAudience` | string ≤ 2000 chars or null | No |  |
| `contentGoals` | string ≤ 2000 chars or null | No |  |
| `productContext` | string ≤ 6000 chars or null | No |  |
| `selectedTopics` | array of string ≤ 120 chars (max 30) | No |  |
| `accountRules` | string ≤ 500 chars or null | No | The account's writing rules, applied to every draft: short lines such as "No hashtags." At most 500 characters, so keep only the rules that matter most. Replaces the saved rules, so include any existing rules to keep. Null clears them. |
| `account` | string ≤ 64 chars | No | X account to act on, as @handle. Leave it out to use the connection's default account. |
| `dryRun` | boolean | No | Return exactly what would happen without doing it. |
| `idempotencyKey` | string ≤ 200 chars | No | A unique key for this write. Repeating a call with the same key returns the first result instead of acting twice. |
