Setup guide

From your glasses to your spreadsheet

Say something to your glasses; watch a row change in your workbook. This is the whole way there, written for someone who has never set anything like this up. Three parts, in order, and each one is useful on its own — most people stop after part one and are happy.

Start at part one I already have an agent connected

Before you start

Five things. With all five, nothing in part one can really go wrong.

How to read this. Anything in this typeface is meant to be typed or pasted exactly. Where a value is personal to you, IRIS shows it on screen with a Copy button next to it — always copy from the app rather than retyping from this page.

Connect IRIS to Hey Even

No computer, no terminal, nothing to install. Ten minutes on your phone, and afterwards you can talk to IRIS with the app closed and the phone in your pocket.

What you get

Say "Hey Even, remember to send the deck" and it becomes a to-do. "Hey Even, note that the gate code is 4821" becomes a note. "Hey Even, remind me at 9 to take out the trash" becomes a timed reminder, emailed to you at that moment. "Hey Even, put lunch with Sam on my calendar Friday at noon" becomes a card with an Add to calendar button. And you can ask it things — "Hey Even, what did Diane say?" is answered from your own IRIS memory, on the lens.

The setup

  1. Open IRIS and find the two values
    Go to Settings → Connections → Even AI quick capture. With a licence key entered, you will see an Agent URL and a Token, each with a Copy button.
    Agent URL
    https://iris.eveniris.com/agent
    Token
    your IRIS licence key
    Copy the URL now. You will come back for the token in a moment — most phones hold only one thing on the clipboard at a time.
  2. Add IRIS as an agent in the Even app
    In the Even Realities app: Settings → Even AI → Agent Configuration → Add Agent. Name it IRIS, and paste the Agent URL into the URL field.
  3. Go back for the token
    Switch to IRIS, tap Copy next to the Token, switch back to the Even app, paste it into the token field, and save.
  4. Select IRIS — this is the step people miss
    Adding an agent is not the same as using it. In Even's Settings → Even AI, make sure IRIS is the selected agent. If something else is still selected, your words go there instead and nothing arrives.
  5. Test it
    With IRIS closed, say "Hey Even, remember to buy milk". Open IRIS and look in Memory → Kept — your capture is there. Then try a question, "Hey Even, what am I meant to buy?", and the answer appears on the lens in a second or two.

If a capture never arrives. Older versions of the Even Realities app grab task-shaped phrases — anything starting "remember", "add", "remind me" — before they ever reach IRIS. Updating the Even app fixes it.

Until you have updated, the original trigger words still work and always get through: start the sentence with "code green," — as in "Hey Even, code green, buy milk".

Where things land. To-dos and notes go to Memory → Kept and file into your memory and to-do list. Timed reminders are emailed at the moment you asked for. Calendar events wait as a card with an Add to calendar button, so your phone's own calendar takes them, alarms included.

Anything captured while IRIS is closed appears the next time you open the app. It is queued, not lost.

Capture and memory recall are dependable. Live web questions through this path — news, weather, scores — are still in beta and can be slow or unreliable, which is worth knowing before you lean on it in front of someone.

Connect your own agent

IRIS can hand your words to an agent you run yourself and stream its reply back to your lens. This is the part that later lets it touch your files. Everything here happens in Settings → Connections → Your agent.

The distinction that decides everything

A model is not an agent. A model — OpenAI, Grok, whatever you already pay for — is a thing that answers. No memory of its own, no tools, no way to reach your computer. It can never edit a spreadsheet.

An agent — Hermes, OpenClaw, or Claude Code running inside OpenClaw — is a program on a machine you control, with memory and tools. It is the only kind that can do part three.

Which one do you want?

Recommended for part three

OpenClaw

A self-hosted gateway that can drive Claude Code as its agent. This is how Claude Code ends up on your glasses.

Can edit your files
Also a full agent

Hermes

Nous Research's self-hosted agent. Its own memory, its own tools, one environment variable to switch on the API IRIS talks to.

Can edit your files
Two minutes, nothing installed

OpenAI, Grok, OpenRouter, Groq, Ollama

Any OpenAI-compatible endpoint, on your own key. Makes the Ask tab much better. It cannot run tasks for you.

Answers only
No direct button

Claude Code on its own

Claude Code is a command-line agent — it does not listen on a port, so nothing can dial into it. You run it inside OpenClaw instead.

Via OpenClaw
The long version of this part already exists. Connect your agent to your glasses walks through installing Hermes from nothing, the OpenClaw configuration, tunnels, and every message Test connection can give you. What follows here is the short path plus the one thing that page does not cover: Claude Code.

How Claude Code gets onto your glasses

The arrangement is IRIS → OpenClaw → Claude Code → your files. OpenClaw runs command-line agents as backends, and its bundled Anthropic plugin registers Claude Code as the claude-cli backend, driving the claude executable you already have installed.

  1. Get Claude Code working in your terminal first
    If typing claude does not start it, nothing downstream will work. Fix that before going on.
  2. Turn on the endpoint IRIS speaks to
    OpenClaw's OpenAI-compatible endpoint is off until you ask for it. In your gateway config:
    gateway: { http: { endpoints: { chatCompletions: { enabled: true } } } }
    Restart the gateway.
  3. Point your agent at the Claude Code backend
    In OpenClaw's agent configuration, set the model to a claude-cli/ reference. The exact form moves between versions, so take it from OpenClaw's CLI backends documentation rather than from memory.
  4. Give the gateway a public address
    The gateway listens on port 18789. In a terminal:
    cloudflared tunnel --url localhost:18789
    It prints an address ending trycloudflare.com. Leave that window open — closing it closes the tunnel.
  5. Fill it in on the phone
    In IRIS: Settings → Connections → Your agent → OpenClaw. Paste the tunnel address into OpenClaw gateway URL, and your gateway token — gateway.auth.token in the config, or the OPENCLAW_GATEWAY_TOKEN variable — into Gateway token. Leave Agent ID blank to talk to your default agent. Tap Test connection.
A quick tunnel prints a new address every restart. If the glasses stop reaching your agent tomorrow, that is almost always why. Once you are past experimenting, move to a named Cloudflare tunnel or Tailscale Funnel so the address stays put. And treat the gateway token like a password: it grants full operator access to your gateway.

Or just a model, in two minutes

Tap Other model and fill in three things: the base URL, your key, and the model name. The base URL is the one the provider's documentation ends with /v1 — the trailing /v1 is optional here, it works with or without.

ProviderAPI base URL
OpenAIapi.openai.com/v1
Grokapi.x.ai/v1
OpenRouteropenrouter.ai/api/v1
Ollama, on your own machinelocalhost:11434/v1, tunnelled
LM Studio, on your own machinelocalhost:1234/v1, tunnelled

The model name is not optional and has no sensible default — a provider rejects every model id but its own. Copy it character for character from their documentation. Until it is filled in, IRIS deliberately shows the agent as not connected, because a guessed name only fails later as a confusing error.

You are paying per token on this path. A question is one request, which is fine. But IRIS can also let your model comment during a live conversation, and those fire every few seconds for a whole session, on your own bill. Turn that on per mode, deliberately, and pick something fast: anything slower than about twelve seconds is dropped and IRIS answers instead, which rules out most reasoning models.

What being connected gets you

Give your agent hands

Hold onto this: IRIS is the voice and the display. She never touches your files herself. Everything in this part is configured on your agent's machine — and once it is done, it is available from the glasses automatically, with nothing further to set in the app.

Route A: files on your own computer

The simplest thing that works, and the one to try first. An agent like Claude Code already reads and writes files in a folder you give it, including .xlsx workbooks and .docx documents, which it handles by writing and running small scripts against them.

  1. Make one folder and put the files in it
    Something like ~/agent-files. One folder keeps the blast radius small and makes it obvious what your agent can see.
  2. Make that folder sync, if you want the changes online
    Install Google Drive for desktop or OneDrive and keep the folder inside the synced area. Your agent edits the local file; the sync client pushes it up within seconds.
  3. Say what you want, into your glasses
    "Open the Q3 budget workbook and add a row for the new supplier, three thousand four hundred, dated today."

The trap that catches everyone: a Google Doc is not a file. In Drive for desktop, native Google Docs, Sheets and Slides appear as tiny shortcut files with no content inside them — your agent cannot edit those by editing the folder. Real .xlsx and .docx files stored in Drive are ordinary files and work fine. To edit genuine Google Docs and Sheets, use route B.

Route B: connect the agent to real services

Agents reach outside tools through MCP — a standard way of plugging a capability into an agent. You install a small server for the thing you want to control, register it with your agent once, and from then on it is simply another thing your agent can do.

Excel, without Excel installed

The Excel MCP server creates and edits workbooks — data, formatting, formulas, charts, pivot tables — and needs no copy of Microsoft Excel on the machine. To register it with Claude Code:

claude mcp add --transport stdio excel -- uvx excel-mcp-server stdio

Google Docs, Sheets, Drive, Gmail, Calendar

The Google Workspace MCP server covers the Google side properly — Docs editing, Sheets ranges and formatting, Drive, Calendar, Gmail, Tasks. It needs a Google OAuth client, which is the same one-time Google Cloud setup IRIS asks for when you switch on Drive exports.

export GOOGLE_OAUTH_CLIENT_ID="your-client-id"
export GOOGLE_OAUTH_CLIENT_SECRET="your-client-secret"
claude mcp add --transport stdio gworkspace -- uvx workspace-mcp --tool-tier core

Google also runs an official remote Drive server at https://drivemcp.googleapis.com/mcp/v1. It is the first-party option, but note what it actually does: searching, reading, creating and copying files. Editing the contents of an existing Doc is not among its tools.

Checking it took

claude mcp list

Inside a Claude Code session, /mcp shows the connected servers and runs the browser sign-in for any that need one. If your agent is OpenClaw, it bridges MCP tools through to its command-line backends with bundleMcp: true, so the tools you add reach Claude Code underneath.

What it actually feels like

Once route A or B is in place, this is the sort of thing you say — through the Ask tab on your glasses, or typed into the Terminal tile.

You sayWhat happens
"Add today's mileage to the expenses sheet, 47 miles."Your agent opens the workbook, appends the row, saves. The sync client puts it back in Drive.
"What's the total in column D of the budget?"It reads the sheet; the number comes back on your lens.
"Draft the follow-up doc from this meeting, in the Clients folder."With the session sent to your agent, it writes the document from the summary.
"Rename every invoice in the downloads folder to supplier-date."Ordinary file work, done while you walk.

Keeping it safe

You are about to let something act on your files from a pair of glasses. Four habits make that comfortable rather than nerve-racking.

  1. Turn on approvals
    With Let your agent write to your lens switched on, your agent can ask you to approve an action before taking it. A one-line summary appears on the lens; a tap approves, a swipe or double-tap refuses. Refusal is the default everywhere — if it expires, if you never see it, if the app is closed, the answer is no. An answer once given cannot be changed.
  2. Start read-only
    Spend the first day asking questions about your files before letting anything write to them. You learn what it understands, cheaply.
  3. One folder, backed up
    Give it a working folder rather than your whole home directory or your entire Drive. Keep a backup, or rely on version history. The point is that a mistake is recoverable, not that it is impossible.
  4. Keys are passwords
    Your gateway token, your API_SERVER_KEY, your provider key. IRIS passes them through per request and stores none of them, but treat them the way you would treat the password to the machine itself.

When it breaks

The messages are specific on purpose. Each one means one thing. For the agent bridge in particular, the agent page has a longer list.

Even says "AI server error"

That is the token, not the selection. Quick capture is part of Pro, and the token has to be a Pro licence key — the free key IRIS runs on before you subscribe is refused, and Even reports the refusal as its own AI server error.

If you are already on Pro, copy the token from Settings → Connections → Even AI quick capture again and paste it back into the Even app. Resubscribing issues a new key, and the Even app keeps holding the old one.

Hey Even captures never arrive

Two causes, in this order. IRIS is added but not selected in the Even app's Settings → Even AI — adding is not choosing. Or the Even app is old enough to grab task-shaped phrases before IRIS hears them; update it, and use "code green," in the meantime.

Captures arrive late, all at once

Working as intended. Anything captured while IRIS is closed queues up and files itself the next time you open the app.

"The agent rejected the API key"

The key in IRIS does not match the one on your machine. For Hermes that is API_SERVER_KEY; for OpenClaw the gateway token; for a provider, the key from their dashboard. Paste it again without the word Bearer in front of it. If you set the variable after the agent started, restart the agent — it is still running with the old value.

"The agent answered 404"

The address is not where that provider serves its API. Check it against their own documentation.

"Could not reach that URL"

The tunnel is not running, or its address changed since you pasted it. Quick tunnels issue a brand new URL every restart, so a slept machine or a closed terminal leaves IRIS pointing at a dead address.

"Add the model name to finish connecting"

An Other model connection needs the provider's model id, exactly as they write it. Without it IRIS treats the agent as not connected, rather than failing on every call.

My agent can see the folder but not my Google Doc

Native Google Docs, Sheets and Slides are not files on disk — Drive for desktop only puts a shortcut there. Use the Google Workspace MCP server in route B, or keep the document as a real .docx or .xlsx in Drive.

Plain-English glossary

Every term used above, in the order you meet it.

Hey Even
The Even Realities voice assistant built into your glasses. It can be pointed at an agent of your choosing, which is what part one does — pointing it at IRIS.
Licence key
Your IRIS Pro key, entered in IRIS Settings. It is also the token Even's agent configuration asks for.
API key
A long secret string from a service that proves a request is yours. Treat every one of them as a password.
Base URL
The web address a provider's API lives at, usually ending in /v1. Their documentation always states it.
Model
The thing that produces answers. No memory of its own, no tools, no access to your machine.
Agent
A program on a machine you control, with memory and tools, that can actually do things. Hermes, OpenClaw, Claude Code.
Claude Code
A command-line agent. It does not listen for incoming connections, so IRIS reaches it through OpenClaw rather than directly.
Gateway
The part of OpenClaw that listens for requests and hands them to whichever agent should answer.
Tunnel
A small program that gives a service on your computer a public web address, so your phone can reach it from anywhere. cloudflared is the one used here.
MCP
The standard way of plugging a capability — Excel, Google Drive, a database — into an agent. Install a small server once and your agent can use it from then on.