Quick start
The fastest way to your first scoped token is the guided setup built into the ATM panel. It creates a test token, gives it access to one device, then lets you choose how to talk to it: chat right inside Home Assistant, or connect an external agent. This page follows that flow step by step. Budget about five minutes.
Before you start
ATM must be installed and added in Home Assistant (see Installation), and you need at least one controllable device such as a light. Everything below happens in the ATM panel in your sidebar. If you plan to chat inside Home Assistant, have a model provider ready: an API key for Claude, DeepSeek, ChatGPT, Gemini, Grok, MiniMax, or OpenRouter, or a local Ollama server (no key needed).
The guided setup
Open the panel and launch the guided setup
Open the ATM panel from your Home Assistant sidebar. On the Tokens tab, start the guided setup ("Connect your first AI agent"). The wizard takes you from an empty token to a working agent without leaving the panel.
Pick a persona
A persona is a named preset that sets every capability at once: what the agent may read, what it may control, and what needs your approval. New user is preselected and is a safe starting point. It lets the agent read your home and control the devices you grant, while locks, alarms, and covers ask for your confirmation.
Choosing a persona modifies the entire capability set, not just a label; you can fine-tune any single capability later. The personas are described on Capabilities.
Name the test token
The wizard suggests test_token so its purpose is obvious; change it if you like, and set an optional expiry. Name and expiry are fixed once the token is created, so if you want different ones, set them here.
Grant access to one device
The wizard highlights your light domain. Expand it, find a light you can physically see, and click the W button on that row to grant full read and write access; its badge changes to "WRITE". Granting one device is enough to prove the connection; you can grant more later from the token's detail page.
Choose how to connect
You can chat with your agent entirely inside Home Assistant using an API key or local hostname from your model provider, or connect an external app instead. Pick whichever fits:
Recommended Agent chat using HA
Chat in a window right here in Home Assistant. Bring an API key from a model provider, or a local Ollama server. Nothing to install.
Connect an external app
Use Claude, an IDE, or another MCP-capable app. You copy a connection command that carries your token.
Path A: Agent chat within Home Assistant
The recommended path. ATM runs the agent for you, inside the panel, using a model provider account you supply. There is nothing to install and no separate app to configure.
Set up your model provider
Pick a provider you have already added, or add a new one: choose from the dropdown and click Add new provider…. Paste an API key (or, for a local Ollama server, its URL) and click Validate. Validating only tests the connection and lists its models; nothing is saved until you continue. Once validated, pick a default model.
Try it
Click Try now. The wizard opens the Agent Chat window with your new token and the provider and model you just set up already selected, and a test question typed in for you: "How many lights are in my home?" Press Send. The wizard closes as soon as you send your first prompt, so you land in a normal chat with your new agent.
Path B: Connect an external app
Use this path to drive ATM from Claude Code, Cursor, Codex, Gemini CLI, or any other MCP-capable client instead of chatting inside Home Assistant.
Connect your agent
The wizard shows a ready-to-paste command for your agent, plus the raw token value; both are shown once here.
Shown once
The token value cannot be retrieved later. Copy it now, or copy the ready-to-paste command below, which already carries it.
Claude Code, for example, is a single command line; substitute your Home Assistant address. Other clients (Cursor, Codex, Gemini CLI, and any MCP-capable tool) connect the same way with their own command or config; the panel shows the exact form per agent, and so does Connect an AI client. If you are not ready to connect an agent yet, Connect later skips straight to the end; the token is already created and waiting on the token page.
Run a test
Ask your agent to do something simple, like "List my Home Assistant lights". The moment it calls ATM, the wizard detects the connection and confirms it. That is the whole loop: a scoped token, connected and verified.
What you end up with
The result is a normal scoped token, no different from one you build by hand. You can widen or tighten its permission tree, change its capabilities, or rotate its value at any time from the token's detail page. When you are done with it, open the token and choose Revoke; revoked tokens can then be deleted permanently from the Archived list. Revoking also clears the token from any open Agent Chat window automatically.
Where to go next
Agent Chat
Provider accounts, the floating window, verbose output, and everything else about chatting inside Home Assistant.
Agent Chat ConnectConnect an AI client
Per-agent commands and configs, the agent skill, and when to use a third-party server.
Connect a client ScopePermissions
The four states and the two-pass resolver that turn the tree into one decision per entity.
Permissions GateCapabilities & pass-through
The opt-in flags behind the high-impact operations, and the personas that preset them.
Capabilities OperatePanel guide
Everything the panel does: bulk select, the emulator, hints, approvals, and more.
Panel guide