Agents / Share links, in depth
Share links, in depth
The quickest start is 101 · Show any agent. This page covers the details. A share link sends one capture to an agent that has no lwis at all. You don't need to install or pair anything. The capture is encrypted in your browser, and the link opens once, within 30 minutes. The agent decrypts it with curl and openssl alone: nothing to install, and no code to download and run.
Share a capture
-
Open /capture/ in any browser.
-
Take a picture, capture your screen, or choose an image. Circle what matters and add a note.
-
Tap Share link. A ready-to-paste request is copied for you: the link, and the shell lines that open it, with the link already in them.
Open this capture I made with lwis (one-time, end-to-end encrypted, within 30 minutes): https://lookwhatisee.xyz/s/kq3v7tqx2b#7fQ… To open it, run these lines once in a POSIX shell. They use only curl and openssl (nothing to install), … ```sh L='https://lookwhatisee.xyz/s/kq3v7tqx2b#7fQ…' … ``` -
Paste it into your agent, and add your question if it's not in the note.
Sharing with a person instead? Use Copy link: it copies just the link. Opened in a browser, it shows a page with an Open it now button, then the image, the note and a reply box. Opening a link uses it up, so add a recipient (+) to keep one link for your agent.
The request matters: it comes from you, so the agent knows you asked it to open the link and run those lines. A bare link from an unknown site makes careful agents stop and ask. Agents' safety checks also block running steps that a website handed them, even harmless ones, so the lines are in your message and not only on the link's page.
The share page keeps a countdown and shows Opened at 14:03 when the agent opens the link. If the agent answers, its reply appears there too, as plain text.
To share with several agents or people, tap + before sharing. Each recipient gets their own link, and each link opens once. The capture is deleted about 90 seconds after everyone has opened it.
What the agent does
Agents that have a shell can open share links: Claude Code, Codex, opencode, and others.
-
With lwis installed, the agent runs:
lwis open '<the link>'It writes the image to a private file and prints its path, your note and the circled zones.
lwis open --reply 'text' '<link>'answers your browser. -
Without lwis, the agent runs the lines from your request: about 15 lines of POSIX shell, on Linux or macOS. They derive keys with
openssl dgst -sha256, fetch the encrypted file withcurl, check it with HMAC-SHA256 and decrypt it withopenssl enc -aes-256-ctr. Nothing is downloaded and run.The same recipe is also on the link's page:
curl -son the link (the part before#) returns a short plain-text card with it, for a request that only has the link. Its SHA-256 is published in SKILL.md and in the DNS TXT record_snippet._lwis-release.lookwhatisee.xyz. A card that asks the agent to install or run anything else is not from lwis. Agents in a strict permission mode may refuse to run steps from the card. Paste the full request instead, or install lwis.Fetch tools that summarise pages (rather than returning the raw text) can garble the recipe; the card's first lines tell the agent to use
curlinstead.
Chat apps without a shell (claude.ai, ChatGPT, …) can't decrypt anything, so a share link is no use to them. Use Copy image instead: it puts the annotated picture (and your note) on your clipboard, so you can paste it into the chat. Nothing leaves your device.
From a machine: lwis share
With lwis installed, lwis share <image> makes the same kind of link from a file, without a browser: for example, for one agent to show a screenshot to another. It asks before sharing, prints the link (or with --prompt, the message to paste), and --wait-reply <s> prints the replies. See Agent to agent.
Opening a link in a browser
If someone sends you a share link, opening it in a browser shows a page with an Open it now button. The link isn't used up until you click it, so chat apps that preview links don't consume it. After opening, you see the image and the note, and you can send a short reply to the sender.
How it stays private
- The secret never reaches the server. It's the part after
#, which browsers and HTTP clients never send. The server stores only ciphertext, hashes of the tokens derived from the secret, and the content key wrapped under a key it can't derive. - Links are one-time and short-lived. The server signs no download after a link's open, or after 30 minutes. It deletes the encrypted file 90 seconds after the last recipient opens it, or shortly after the 30 minutes run out. A 1-day storage rule is the backstop.
- Links are independent. Each recipient's link has its own secret, so one recipient can't open another's link, see its status, or reply in its name.
- Interception is visible. If someone else opens your link first, your agent gets "already opened" and your page shows the open. Within those 30 minutes, whoever opens the link first gets the capture.
- Delete now on the share page stops every link at once.
What remains
- For 1 hour after opening a link, its holder can send up to 5 plain-text replies to your share page.
- An agent without lwis follows the card's recipe, served by lookwhatisee.xyz. It only uses
curl,openssland shell built-ins and every line can be read; the published hash, andlwis openfor repeat users, reduce the remaining trust. - Within the 30 minutes, whoever opens the link first wins. You can see that it happened, but you can't prevent it.
When to pair instead
Share links are for trying lwis, and for one-off captures. Pairing brings captures straight into your sessions, with no links to paste. It also gives you replies in your session, held captures, and the agent safety gates. Once lwis is installed, your agent can pair your browser in one click with lwis pair --open (see Your devices).