> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# set

```bash theme={null}
telnyx-acp set model zai-org/GLM-5.3-Flash
telnyx-acp set voice.greeting "Hello, how can I help?"
telnyx-acp set voice.harness true
telnyx-acp set voice.tts.voice Telnyx.KokoroTTS.af_bella
telnyx-acp set memory '{ "type": "agent_memory",
                          "namespace": "default",
                          "profile": "{{conversation}}" }'
telnyx-acp set memory.namespace support
telnyx-acp set limits.steps 12
telnyx-acp set approvals.refund_order ask
telnyx-acp set email.address support@acme.example
telnyx-acp set web.title "Acme Support"
```

`set <path> [value]` changes one field of `agent.json`. The path is dotted, and the fields it may change are these.

* `model`
* `voice.*`, which is `greeting`, `eager`, `bargeIn`, `keypressInterrupts`, `harness`, `filler.*`, `stt.*` and `tts.*`
* `email.address`
* `web.title` and `web.greeting`
* `memory.*`
* `limits.steps`
* `approvals.<tool>`

A value that parses as JSON is taken as JSON, `true`, `12`, `{ "minWords": 2 }`, and anything else as a string, so a value is quoted to keep it a string. The result is checked against the schema before anything is written, and a change that would leave `agent.json` invalid is refused with each problem named. The checks that need the rest of the project, the instruction and entry files, the secrets a model or an MCP server needs, and approvals without tools, run at `validate`, `dev` and `deploy`. A block set in parts must be complete before it is valid, which is why `memory` above is set whole first. On a terminal, `set model` with no value opens the same searchable list as the wizard.

A field another verb owns is refused with the verb to use. `phone`, `channels`, `tools` and `secrets` belong to [add](/docs/agents/cli/add) and [remove](/docs/agents/cli/remove); `instructions` names a file that is edited directly; `name` is the directory's; `kind` and `entry` change through [export](/docs/agents/cli/export); `deployed` is `deploy`'s record.

The next `deploy` ships the change, and a running `dev` reloads it, except `web.title` and `web.greeting`, which the page reads as `dev` starts.
