Skip to content
Documentation menu

Machines

Devices

Run your agents on machines you already own — this Mac, the Mac mini on the desk, a VPS. Fyolo copies one binary there over SSH, sets up the agents, and the sessions keep running whether or not you’re attached.

Fyolo runs your agents on machines you already own: this Mac, the Mac mini on the same desk, a VPS you pay for. There is no Fyolo cloud to provision from and nothing to sign into — a machine is a machine Fyolo can ssh to.

Everything in the app files under one hierarchy:

Device        a machine you can reach, this Mac included
  └ Workspace   a named scope in the sidebar
      └ Project    a checkout on that machine
          └ Session   one real terminal

Each level belongs to exactly one level above it. That is what makes the machine question answerable once, at the top, instead of being asked again for every project and every pane. The level that answers it is the workspace.

Adding a machine

This Mac is a device like any other, and it’s the one you already have. Until you add a second, the level stays out of your way — New Terminal and Open Project… are plain verbs, because there is only one place they could mean.

Fyolo reads ~/.ssh/config and never rewrites it behind your back. Anything you can already ssh to is a machine Fyolo can reach:

  • File ▸ Connect to… lists the aliases in your config that Fyolo hasn’t worked on yet. Connecting opens a terminal there.
  • Add Host… appends a Host block for a box that isn’t in your config yet. Lead with the address; the name is what you’ll type after ssh. A key is the credential that works everywhere, including for the sessions running on the box. A password is saved to your Keychain, never to ssh config, and read only when ssh asks for it.

Setting up a machine

Open Settings ▸ Remote Hosts, pick the machine, and press Set Up. Fyolo copies the session host — fyolod, plus the fyolo CLI on Linux — into ~/.local/bin over SSH. No root, no package manager, nothing to add to your shell profile. It then looks for the agent CLIs installed there and writes Fyolo’s hooks and its agent skill for each one, so an agent on a VPS reports working, needs you, and done exactly the way a local one does.

The same button is the update, and the machine’s page reduces the whole chain to one line — Ready, Set up this host, or Update ready. Remote hosts is the operating manual: testing the route, why a password isn’t enough, what each rung installs, and how to repair one.

What Fyolo does not do

Fyolo never provisions a machine, never runs a control plane, and never routes your traffic. It shells out to the system ssh, with your ~/.ssh/config and your keychain as the only authorities. Your code stays on hardware you control — which is the only trust story that survives giving an agent a shell on a private repo.

Sessions live on the machine

Every session runs inside fyolod on the machine that owns it — including the sessions on this Mac, which run in the local daemon. The app is a viewer that attaches and detaches.

That’s why closing the window leaves everything running, and why a remote session isn’t tied to the SSH connection that opened it: dropping the link detaches you, it doesn’t kill the agent. Reattaching restores the screen.

Only Close Session (⌘W) ends a session on purpose. Quitting Fyolo detaches instead, and the next launch reattaches.

What reaches across

Once a machine is set up, the panes that read a project read it on the machine the project is on:

  • Files — browse the checkout, open a file, and save it back to the machine it was read from.
  • Search — search a checkout on the machine, follow its cd, and open what the search found.
  • Changes, Compare, History — the git pane reads that machine’s repository, and stays as read-only there as it is here.
  • Agents — the same manifests, hooks, and skill, installed on the box. Where an agent’s CLI lives is a fact about one machine, so it’s answered on that machine’s own page under Remote Hosts rather than on a page about agents.
  • Paste an image into an agent running on the machine and Fyolo carries the file across.

Sessions started outside Fyolo show up by themselves — ssh in, launch something with fyolod, and the sidebar files it as an ordinary session. The machine’s own roster is the source, so nothing running on the box goes missing.

Docs