{
  "manifest_version": "1",
  "slug": "paseo",
  "title": "Paseo",
  "headline": "Run Paseo on a remote server",
  "description": "Run Paseo on an always-on exe.dev VM and steer Claude Code, Codex and OpenCode from its phone app or any browser. No API keys to paste.",
  "category": "ai-agents",
  "tags": [
    "paseo",
    "mobile coding",
    "remote coding agents",
    "claude code",
    "codex",
    "opencode",
    "voice coding"
  ],
  "url": "https://exe.dev/deploy/paseo",
  "markdown_url": "https://exe-staging.dev/deploy/paseo.md",
  "upstream": {
    "website": "https://paseo.sh",
    "source": "https://github.com/getpaseo/paseo",
    "docs": "https://paseo.sh/docs",
    "license": "Apache-2.0"
  },
  "example_vm_name": "my-paseo",
  "time": "10 minutes",
  "stack": [
    {
      "name": "Paseo daemon",
      "detail": "@getpaseo/cli on Node.js 24, a systemd service",
      "port": 6767,
      "data": "~/.paseo"
    },
    {
      "name": "Claude Code, Codex and OpenCode",
      "detail": "preinstalled; connected to exe.dev's LLM integration",
      "data": "~/.claude, ~/.codex"
    },
    {
      "name": "Your project",
      "data": "~/project"
    }
  ],
  "access": [
    {
      "url": "https://my-paseo.exe.xyz:6767/",
      "who": "private",
      "what": "Paseo's web app in your phone's or laptop's browser, behind exe.dev login and Paseo's password"
    },
    {
      "url": "Paseo's iOS, Android and desktop apps",
      "who": "private",
      "what": "through Paseo's end-to-end encrypted relay, after pairing, with Paseo's password"
    },
    {
      "url": "ssh my-paseo.exe.xyz",
      "who": "private",
      "what": "your terminal, for the password, pairing and upkeep"
    }
  ],
  "delivers": [
    "The Paseo daemon running as a systemd service on port 6767 with its web app on, back after a reboot",
    "A random Paseo password in `~/.paseo/paseo.env`, readable only by its owner",
    "Claude Code and Codex ready in Paseo through exe.dev's LLM integration, with no API key to paste",
    "A Git project at `~/project`, added to Paseo",
    "Paseo's web app at port 6767, behind exe.dev login and Paseo's password"
  ],
  "deployable": true,
  "deploy": {
    "new_vm_url": "https://exe-staging.dev/new?prompt=Set%20up%20Paseo%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fexe-staging.dev%2Fdeploy%2Fpaseo.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-paseo.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-paseo.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20The%20Paseo%20daemon%20running%20as%20a%20systemd%20service%20on%20port%206767%20with%20its%20web%20app%20on%2C%20back%20after%20a%20reboot%0A-%20A%20random%20Paseo%20password%20in%20%60~%2F.paseo%2Fpaseo.env%60%2C%20readable%20only%20by%20its%20owner%0A-%20Claude%20Code%20and%20Codex%20ready%20in%20Paseo%20through%20exe.dev%27s%20LLM%20integration%2C%20with%20no%20API%20key%20to%20paste%0A-%20A%20Git%20project%20at%20%60~%2Fproject%60%2C%20added%20to%20Paseo%0A-%20Paseo%27s%20web%20app%20at%20port%206767%2C%20behind%20exe.dev%20login%20and%20Paseo%27s%20password%0A%0ARun%20the%20VM-side%20commands%20in%20%22Install%20by%20hand%22%20only%2C%20from%20%22Install%20Paseo%22%0Aon.%20If%20%60exeuntu%20configure%60%20reports%20an%20existing%20user%20config%2C%20leave%20it%0Aalone.%20Do%20not%20run%20%60paseo%20daemon%20pair%60%3A%20it%20turns%20on%20Paseo%27s%20relay%2C%20which%0Ais%20the%20owner%27s%20choice.%20Verify%20that%20%60systemctl%20is-active%20paseo%60%20says%0Aactive%2C%20that%20%60ss%20-ltn%60%20shows%20%600.0.0.0%3A6767%60%2C%20that%20the%20health%20check%0Aprints%20%60%22status%22%3A%22ok%22%60%2C%20and%20that%20the%20setup%20check%20prints%20%60OK%60.%20Never%0Aprint%20the%20password%20in%20your%20messages.%20Skip%20the%20backup%2C%20update%20and%0Atroubleshooting%20sections%20and%20the%20FAQ.%20Finish%20by%20giving%20the%20owner%20the%0Abrowser%20URL%20and%20the%20%60ssh%20...%20cat%20.paseo%2Fpaseo.env%60%20command%20from%20%22Open%0APaseo%22%2C%20with%20this%20VM%27s%20name%2C%20and%20tell%20them%20to%20follow%20%22Add%20your%20phone%22%0Anext.%0A%0AFinish%20with%20the%20URLs%20I%20should%20open.%0A",
    "terminal": "curl -fsSL https://exe-staging.dev/deploy/paseo/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up Paseo on this VM by following the exe.dev recipe at https://exe-staging.dev/deploy/paseo.md from top to bottom.\n\nThe recipe's example VM name is my-paseo. This VM's name is the output of `hostname`: use it wherever the recipe writes my-paseo. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- The Paseo daemon running as a systemd service on port 6767 with its web app on, back after a reboot\n- A random Paseo password in `~/.paseo/paseo.env`, readable only by its owner\n- Claude Code and Codex ready in Paseo through exe.dev's LLM integration, with no API key to paste\n- A Git project at `~/project`, added to Paseo\n- Paseo's web app at port 6767, behind exe.dev login and Paseo's password\n\nRun the VM-side commands in \"Install by hand\" only, from \"Install Paseo\"\non. If `exeuntu configure` reports an existing user config, leave it\nalone. Do not run `paseo daemon pair`: it turns on Paseo's relay, which\nis the owner's choice. Verify that `systemctl is-active paseo` says\nactive, that `ss -ltn` shows `0.0.0.0:6767`, that the health check\nprints `\"status\":\"ok\"`, and that the setup check prints `OK`. Never\nprint the password in your messages. Skip the backup, update and\ntroubleshooting sections and the FAQ. Finish by giving the owner the\nbrowser URL and the `ssh ... cat .paseo/paseo.env` command from \"Open\nPaseo\", with this VM's name, and tell them to follow \"Add your phone\"\nnext.\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://exe-staging.dev/deploy/paseo/prompt.txt"
  },
  "updated": "2026-10-31",
  "verified": "2026-10-31",
  "related": [
    "t3code",
    "claude-code",
    "codex",
    "opencode",
    "openclaw",
    "codex-remote-control"
  ]
}
