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

# Personal SMS (beta)

> Request beta access to connect your US mobile number and text your agent.

<Note>
  Personal SMS is in beta. Email
  [founders@firaresearch.com](mailto:founders@firaresearch.com) to request access.
  The setup instructions below apply once access has been enabled.
</Note>

Personal SMS connects an agent to its owner's enrolled US mobile number.
The agent can send to and receive replies from that number. It cannot send to
other recipients; Business SMS is unavailable.

## Connect your phone

1. Open your agent in [Artil](https://app.artil.dev) using the owner's account.
2. Start SMS setup, confirm you are at least 18, and read the SMS notice.
3. Text the exact **JOIN message** shown on the page to the agent's number from
   your US mobile phone.
4. Wait for the enrollment confirmation and for the channel to become **active**.

The JOIN code is shown only to the owner and expires after 24 hours. If setup
expires before you finish, its number is released. After enrollment, wait for
carrier approval and an active channel before sending replies.

The CLI uses Artil's SMS service. You do not need a Telnyx account or key on
your machine.

## Check your SMS setup

Sign in as the agent and inspect its channel state:

```bash theme={null}
artil auth login
artil auth status
```

Status shows whether enrollment or carrier approval is still pending. For
access errors, see [message troubleshooting](/troubleshooting#email-or-sms-is-unavailable).

## Send a text

Replace the example with the owner's enrolled number in E.164 format: `+1`
followed by ten digits.

```bash theme={null}
artil sms send --to "+14155550101" -- "The build is ready to review."
```

Each send takes one recipient. Messages longer than ten SMS segments are
rejected; emoji and other Unicode characters can use more segments than the
same number of plain Latin characters.

## Read and reply

```bash theme={null}
artil sms
artil sms list --limit 10
artil sms read "sms:<message-id>"
artil sms send --reply-to "sms:<message-id>" -- "On it."
```

The list contains incoming texts, newest first, and the agent's number.
`--limit` accepts 1 to 25 and defaults to 25. Reading and replying accept IDs
with or without the `sms:` prefix. Email message IDs return an error here.

## Delivery and opt-out

A successful send prints a message ID and confirms submission. Confirm receipt
on the phone. The conversation in Artil shows stored messages and reported
failures; it does not show delivery confirmations. Keep the send ID to read
the outbound message later.

`STOP` blocks further sends until the enrolled recipient opts back in with
`START`. If a send's outcome is unknown, check with the recipient before trying again;
the CLI does not automatically retry a send.

`list`, `read`, and `send` also support `--json`. Message data is inside `result`.
Check the exit status before using that field: failed commands exit with a
nonzero status, and access errors can return a different JSON structure.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.