# Add Dial Tool

Give chosen NanoClaw agents a real phone number as a container tool, the `dial` CLI...

- Repository: https://github.com/nanocoai/nanoclaw (31069 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add nanocoai/nanoclaw --skill add-dial-tool -g -a claude-code -y`
Codex: `npx skills add nanocoai/nanoclaw --skill add-dial-tool -g -a codex -y`
Cursor: `npx skills add nanocoai/nanoclaw --skill add-dial-tool -g -a cursor -y`
Gemini CLI: `npx skills add nanocoai/nanoclaw --skill add-dial-tool -g -a gemini-cli -y`

## Description

Give chosen NanoClaw agents a real phone number as a container tool, the `dial` CLI baked into the agent image plus OneCLI credential injection for api.getdial.ai, attached only to the agents you pick, so they can send SMS, place AI voice calls, and receive verification codes from inside the sandbox. Independent of the Dial channel; idempotent; re-run to change which agents may use it. Use when the user wants agents to text, call, or run `dial …` from a chat, without wiring Dial as a messaging channel.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Add Dial Tool

Installs Dial as a **container tool**: the `dial` CLI on the agent's `PATH`, the
`dial-cli` skill so the agent knows how to drive it, and an OneCLI credential
attached only to the agents you choose, so their in-container calls are injected
keyless. Independent of the Dial **channel**
(`/add-dial`), install this alone. Idempotent: re-run it to change which agents
may use Dial.

**This tool spends money and reaches real people.** An agent with Dial access can
text and call any number and buy more numbers, billed to the Dial account. The
CLI and the skill file land in every agent's container, but the **key** is
injected per agent by OneCLI, so the operator chooses which agents get it. The
key is attached to those agents only; every other agent, and every agent group
created later, gets no Dial key, and the gateway answers its Dial requests
with the error code `access_restricted`.

Run this from the NanoClaw repo on the host (not from a chat with an agent, the
container can't install itself). The mechanical steps carry `nc:` directive
fences: an agent reads the prose and applies them, and a parser can apply them
deterministically from the same document. Every directive is idempotent, so the
whole skill is safe to re-run; anything a parser can't apply falls back to the
prose beside it.

## Pre-flight

OneCLI is required for credential injection, without it there is no way to hand
the key to a container without putting it in an env var. This must succeed before
anything else runs:

```nc:run effect:check
command -v onecli >/dev/null
```

If it fails, tell the user to run `/init-onecli` first, then retry. Stop here.

The rest: https://github.com/nanocoai/nanoclaw/blob/HEAD/.claude/skills/add-dial-tool/SKILL.md
