ezremoteDocs

How ezremote works

For people and agents who want the model behind the setup steps, and the limits.

ezremote lets an AI agent use a person's computer. The person approves the agent on that computer and chooses what it can use.

Five words

WordMeaning
ComputerThe person's machine.
HelperThe app installed on the computer. It runs as that OS user and connects out to ezremote, so the computer opens no port.
AgentThe AI asking to use the computer: Claude, Codex, Pi or a script.
ConnectionOne agent joined to one computer, approved by a person on that computer. Permissions and folder rules belong to it, so one agent can have different access on two computers.
PermissionFiles, Terminal, Browser or MCP servers. Each is a switch with finer controls.

A person can have several computers and agents. Connections come in two kinds:

TemporaryLasting
AccountNot neededNeeded
EndsWithin 24 hours of the requestWhen someone revokes it
TerminalSandboxed only, none on WindowsSandboxed, or full access by choice
MCP serversNeverOff until the person turns them on
Agent credentialThe agent's own secret, switched on after approvalOAuth or an agent token

Saving a temporary connection to an account makes it lasting with the same permissions.

Life of a connection

  1. Requested. The agent gets a setup link from connect_computer or POST /api/connect/request.
  2. Approved. The person opens the link on the computer, chooses permissions, runs the setup command and approves in the terminal. Setup installs the helper if needed.
  3. Active. The service checks each call's credential and connection, then forwards it to the helper. The helper checks permissions again before it runs anything, as the computer's user.
  4. Ended. The person revokes it or it expires. New calls fail, though a command already started may finish.

While the helper is offline, calls return device_offline and nothing runs. The agent can queue work for when the computer returns. The agent's own built-in tools never touch the computer; they act where the agent runs. The service at https://tunnel.masti.lol relays calls and can read them (what it sees).

Limits

This table is the one home for these numbers.

WhatLimit
Setup link and pairing code10 minutes
Temporary accessUp to 24 hours from the request. durationSeconds accepts 60 to 86,400.
Saving a temporary connectionUntil 24 hours after its access ends
Temporary requests10 per hour from one address, 500 per hour in total
Agent token7 days at most. Dashboard tokens default to 24 hours.
OAuth access credential1 hour, refreshed by the client
deadlineInMs30 seconds by default, 1 to 55 seconds
shell_exec timeoutMs1 to 55 seconds
Text read, write or edit1 MB
files_read page1,000 lines
files_list, files_searchDepth 20, 1,000 entries per page
files_search budget3 seconds, 16,000,000 bytes, 1 MB scanned per file
Small transfer chunk192 KB before base64
Large transfer10 GiB per file. The job lasts 1 hour, a download link 5 minutes.
Terminal sessions8 running per connection, 1 MB output buffer each
Session idle expiry, idleMinutes120 minutes by default, 1 to 1,440
shell_readmaxBytes 64 KiB by default, up to 512 KiB. waitMs up to 20 seconds.
Finished sessionsReadable for 5 minutes. The helper keeps the last 32.
Queued job deadline30 minutes by default, 12 hours at most, never past the connection's end
Queued job arguments, result1.5 MB each. Results stay 1 hour past the deadline.
Active queued jobs32 per computer, 1,000 in total
Queued job storage64 MiB per computer, 256 MiB in total
/api/jobs/wait55 seconds per call
Helper result journal24 hours, 1,024 requests or 16 MB, whichever comes first. 64 KB per reply.
operationsThe last 100 records
Browser import50,000 history entries, 50,000 bookmarks