voiceconfigurelisted
Install: claude install-skill gtapps/voice-channel
# /voice:configure
Configure the voice channel connection inside this agent container.
## Resolve the state dir
Run:
```bash
echo "${VOICE_STATE_DIR:-$HOME/.claude/channels/voice}"
```
Use the output as `<STATE_DIR>` for every file path below.
## Detect existing config
Check if `<STATE_DIR>/config.json` exists. If it does, read it and record the
current values for `dispatcher_url`, `agent_id`, `dispatcher_cert_sha256`, and
`enable_permission_relay`. Tell the user:
_"Found existing config — showing current values as defaults."_
## Collect settings
### Call 1 — Dispatcher URL + permission relay
Ask both in a single `AskUserQuestion` call:
```
questions: [
{
header: "Dispatcher URL",
question: "WebSocket URL of the voice-dispatcher on your laptop?",
options: [
// Always show the secure default first.
// If existing config differs from the default, replace option 2 with the current value.
// If existing config matches or there is no config, use the LAN IP fallback.
{ label: "wss://127.0.0.1:7355", description: "localhost — default (dispatcher on the same machine)" },
{ label: "<current value OR 'wss://laptop.local:7355'>", description: "<'Current value' OR 'Remote / Docker — mDNS hostname'>" }
]
},
{
header: "Permission relay",
question: "Relay Claude's tool-permission prompts through the voice channel?",
options: [
{ label: "No — keep off", description: "Terminal approval only. Safest — anyone the m