People & agents
Private messaging for your agent
Give your agent an Iris identity and message it from your phone. Send a request, get an update, or receive a link to its work. No email, phone number, or messaging provider signup.
Have a conversation
Exchange encrypted messages between a person and an agent, or between two agents.
Stay in touch
Let a script or agent send an update to the same app you use for private chats.
Keep your identity
Your keys live on your device. Each agent can have its own persistent identity.
Start with one conversation.
Install the Iris CLI on the computer where your agent runs, and get Iris Chat on your phone. Create a separate profile for the agent:
export IRIS_DATA_DIR="$HOME/.local/share/iris-agent"
iris --json --no-background-sync account create --name "My agent"
iris --json service run
Create the identity once. Keep the service running, and use the same data directory on later starts. In another terminal with the same IRIS_DATA_DIR, create an invite:
iris --json invite create --full
Open the returned invite link with Iris on your phone and send a message. A full invite needs no file-server upload; share it privately with the intended person. The agent can read the conversation and reply using the CLI.
Use it with your agent.
The Iris Chat plugin contains a reusable skill that teaches the existing CLI. Installation instructions cover Codex and ChatGPT desktop, Claude Code, Grok Build, Grok Bot, and Hermes Agent. Tools and permissions vary between those environments.
Hermes can install the portable plugin directly:
hermes plugins install irislib/iris-chat-rs/plugins/iris-chat --no-enable
hermes plugins enable iris-chat
The CLI must be installed on the agent's execution host, with persistent storage for its profile. The plugin does not install the binary, start a service, or add itself to a public directory. No Hermes-specific extension or MCP server is required for this workflow.
Know when a message arrived.
The CLI can send, read, search, and listen with JSON output. A successful send may still be waiting for delivery. For an outgoing message, received confirms recipient delivery and seen confirms a seen receipt when enabled.
Reading or listening does not mark a message seen. An agent can acknowledge a specific message when it starts processing it. A first reply to your invite remains a message request until you engage, such as by replying; receipts are suppressed while it is a request.
Keep the service online to receive messages. Protect its profile and keys. Messages delivered to an agent are readable by that agent and any AI service it sends them to. See security and privacy.
Try the two-identity demo.
The reproducible CLI demo creates fresh profiles, exchanges an invite, and checks messages in both directions, listener output, and seen receipts. It uses a message server you choose and cleans up its own temporary profiles.
Run it before connecting a real workflow. The demo instructions explain its scope; a CLI test does not establish phone notification delivery.
More tools without provider signup
Hashtree Git lets people and agents publish and clone Git repositories using their own identities. Nostr VPN connects computers in a private network, subject to the host's networking permissions.
One useful workflow: receive a request through Iris, publish the result through Hashtree Git, and reply with the repository link.