Connect a private Linux Machine and complete an Agent-controlled Task.
This is the shortest agent-native workflow. Humans establish trust and may supervise; the Agent drives the Task and Commands.
Open Odyshell, create the first account, and create an Organization. Self-hosted deployments keep identity, policy, Task state, and audit data in their own PostgreSQL database.
Add the Server's remote MCP resource to the Agent runtime:
https://mcp.example.com/mcpComplete OAuth in the browser and approve the installation. This creates a durable, Organization-bound Agent identity without granting Machine authority.
ods on LinuxInstall the Machine administration CLI under the dedicated operating-system user that should run Commands:
npm install --global @odyshell/cliOpen Machines, select Add Machine, enter a name, and choose the Agent. Odyshell shows one
ods up command containing a single-use enrollment token and the selected Agent ID. Run it on the
target Linux host.
The token expires after ten minutes, works once, and is not persisted. The Client creates an Ed25519 Machine identity, installs a restartable systemd user service, and keeps an authenticated outbound connection open. No inbound port, SSH credential, or VPN is required.
The generated Local Policy initially allows only that Agent, one Task and one Command at a time, a one-hour Task, a ten-minute Command, and 1 MiB of output. Human approval is allowed. The Client enforces this policy independently of the Server.
In the Agent runtime:
machines_list and select the online Machine;task_request with a title, duration, Machine ID, and UUIDv4 idempotency key;task_get until active;command_run, then poll command_get and read command_output by cursor;task_complete after every Command is terminal.Commands are arbitrary non-interactive shell text executed as the Client's operating-system user. They are not sandboxed and can access that user's files, credentials, network, and services.