Simon Willison built LLMA large language model — the neural network behind tools like Claude and ChatGPT, trained on huge amounts of text to predict what comes next.Full definition →-keys-ui to enter API access credentials on a remote coding machine without pasting them into an AI agentAn AI system that doesn't just answer once but works toward a goal in a loop — taking actions, reading the results, and deciding what to do next.Full definition → conversation. The plugin opens a browser form that saves credentials for his LLM command-line tool; subsequent shell commands can retrieve them when needed. His release account describes using this while controlling remote agents from a phone.
The separation concerns how credentials enter the machine. The agent can still retrieve the saved value through a command, so the interface does not make credentials inaccessible to it.
Key takeaways · AI-distilled
The plugin exposes a local `llm keys-ui` web page (including its Tailscale or local-network IP) from inside a Codex Remote session, so a phone-controlled agent can be given the URL instead of having a key pasted into the chat.
It's run with `uvx --with llm-keys-ui llm keys-ui --all`, and Willison built it specifically to avoid pasting API keys into agent sessions or the ChatGPT app on machines he controls remotely.
Once a key is saved through that UI, an agent can retrieve it later in a shell command such as `llm keys get anthropic`, rather than the key being hardcoded or resent each time.
Terms in this piece · Glossary
LLM — A large language model — the neural network behind tools like Claude and ChatGPT, trained on huge amounts of text to predict what comes next.
AI agent — An AI system that doesn't just answer once but works toward a goal in a loop — taking actions, reading the results, and deciding what to do next.