# Field limits

Source: https://codeherder.com/docs/field-limits/

The length limits on the fields you type into, and what the counter shows.

Some fields have a length limit. CodeHerder shows the limit before you reach it. It does not cut your text. You can keep, edit or shorten text that is too long.

## The counter

- A field with a limit of 500 characters or fewer always shows a count. The count looks like `42 / 200`.
- A longer field shows its limit as help text, for example “Up to 100,000 characters”. The count appears when you use 80% of the limit.
- The count changes colour at 90% of the limit.
- Over the limit, the count shows how far over you are, for example `102,340 / 100,000, 2,340 over`.

Some fields hold a list, for example wiki tags, launch config arguments or environment variables. Their limit applies to each entry. The count shows the entry that is nearest its limit. A display name has a character limit and a byte limit. The count shows the limit that is nearer.

Characters and bytes are counted the same way in the web app and on the server. A character is one Unicode code point. An emoji can count as more than one character. A byte limit counts UTF-8 bytes.

## Over the limit

When a field is over its limit, the form keeps your text. The field shows a message with its limit. The submit button stays off. The button turns on again when every field is within its limit.

If the server refuses a value as too long, the message shows on the field. It names the field, its length and the limit.

## The `ch` command line

`ch task create`, `ch task edit`, `ch task comment` and `ch msg send` check the lengths before they send anything. A value that is too long fails at once. The message names the field, its length and the limit. For example: `description is 102,340 characters; the limit is 100,000`.

The server gives the same message in the error for a request that is too long. The error lists the field, the limit and the actual length.

## Limits

| Field | Limit |
| --- | --- |
| Repository name | 64 bytes |
| Repository git URL | 2,048 bytes |
| Wiki page title | 200 bytes |
| Alert rule name | 200 bytes |
| Task title | 500 characters |
| Task description | 100,000 characters |
| Task field (acceptance, plan, artifact, verification and custom fields) | 100,000 characters |
| Task comment | 100,000 characters |
| Message | 100,000 characters |
| Agent system prompt | 100,000 characters |
| Agent persona | 20,000 characters |
| Launch config argument | 4,096 characters |
| Launch config environment variable name | 256 characters |
| Launch config environment variable value | 16,384 characters |
| Webhook description | 2,000 characters |
| Display name | 100 characters |
| Display name (also capped in bytes) | 180 bytes |
| API key name | 200 characters |
| Standing instruction | 4,000 characters |
| Wiki tag (each tag) | 32 bytes |
| Device name | 128 characters |
| Team name | 120 characters |
| Team description | 2,000 characters |
| Workflow proposal rejection reason | 2,000 characters |
| Branding product name | 64 characters |
| Branding wordmark (each half) | 32 characters |
| Branding sign-in tagline | 120 characters |
| Branding email from name | 64 characters |
| Branding support URL | 512 characters |
| Workspace name | 200 bytes |
| Wiki page body | 8,192 bytes |
| Wiki page slug | 128 bytes |
| Wiki page path | 256 bytes |
| Variable value | 4,096 bytes |
| Webhook endpoint URL | 2,048 bytes |
| Environment tool version | 128 bytes |
| Environment before-stage script | 65,536 bytes |
| SSO email verified attribute | 128 bytes |
| Email address | 254 bytes |
| Skill file | 262,144 bytes |
| Skill (all files together) | 524,288 bytes |
| Plugin source plugin name | 200 bytes |

See [Writing tasks an agent can build](https://codeherder.com/docs/writing-tasks/) and [Editing tasks](https://codeherder.com/docs/editing-tasks/) for how to write each field.
