Control Amazon Alexa devices and smart home via the `alexacli` CLI. Use when a user asks to speak/announce on Echo devices, control lights/thermostats/locks, send voice commands, or query Alexa.
Install
Documentation
Alexa CLI
Use alexacli to control Amazon Echo devices and smart home via the unofficial Alexa API.
Authentication
Browser login (recommended)
alexacli auth
Non-US accounts
alexacli auth --domain amazon.de
alexacli auth --domain amazon.co.uk
Check auth status
alexacli auth status
alexacli auth status --verify # validate token against API
Remove credentials
alexacli auth logout
Token is valid ~14 days. Configuration stored in ~/.alexa-cli/config.json.
Devices
alexacli devices
alexacli devices --json
Text-to-Speech
Speak on a specific device
alexacli speak "Hello world" -d "Kitchen Echo"
Announce to ALL devices
alexacli speak "Dinner is ready!" --announce
Device name matching is flexible
alexacli speak "Build complete" -d Kitchen
Voice Commands (Smart Home Control)
Send any command as if you spoke it to Alexa:
Lights, switches, plugs
alexacli command "turn off the living room lights" -d Kitchen
alexacli command "dim the bedroom lights to 50 percent" -d Bedroom
Thermostats
alexacli command "set thermostat to 72 degrees" -d Bedroom
alexacli command "what's the temperature inside" -d Kitchen
Locks
alexacli command "lock the front door" -d Kitchen
Music
alexacli command "play jazz music" -d "Living Room"
alexacli command "stop" -d "Living Room"
Questions
alexacli command "what's the weather" -d Kitchen
Timers
alexacli command "set a timer for 10 minutes" -d Kitchen
Ask (Get Response Back)
Send a command and capture Alexa's text response:
alexacli ask "what's the thermostat set to" -d Kitchen
Output: The thermostat is set to 68 degrees.
alexacli ask "what's on my calendar today" -d Kitchen --json
Alexa+ (LLM Conversations)
Interact with Amazon's LLM-powered assistant:
Quick start - auto-selects conversation
alexacli askplus -d "Echo Show" "What's the capital of France?"
Multi-turn retains context
alexacli askplus -d "Echo Show" "What about Germany?"
List conversations
alexacli conversations
View conversation history
alexacli fragments "amzn1.conversation.xxx"
Audio Playback
Play MP3 audio through Echo devices:
alexacli play --url "https://example.com/audio.mp3" -d "Echo Show"
Requirements: MP3 at 48kbps, 22050Hz sample rate, HTTPS URL.
History
alexacli history
alexacli history --limit 5
alexacli history --json
Command Reference
| Command | Description |
|---------|-------------|
| alexacli devices | List all Echo devices |
| alexacli speak <text> -d <device> | Text-to-speech on device |
| alexacli speak <text> --announce | Announce to all devices |
| alexacli command <text> -d <device> | Voice command (smart home, music, etc.) |
| alexacli ask <text> -d <device> | Send command, get response back |
| alexacli conversations | List Alexa+ conversation IDs |
| alexacli fragments <id> | View Alexa+ conversation history |
| alexacli askplus -d <device> <text> | Alexa+ LLM conversation |
| alexacli play --url <url> -d <device> | Play MP3 via SSML |
| alexacli auth | Browser login or manual token |
| alexacli auth status [--verify] | Show auth status |
| alexacli auth logout | Remove credentials |
| alexacli history | View recent voice activity |
Notes
- -Uses Amazon's unofficial API (same as Alexa app)
- -Refresh token valid ~14 days, re-run
alexacli authif expired - -Device names support partial, case-insensitive matching
- -For AI/agentic use,
alexacli commandwith natural language is preferred - -Add
--verboseor-vto any command for debug output
Launch an agent with Alexa CLI on Termo.