Otto

Close the laptop.
The agents keep working.

Otto runs your OpenCode agents on a cloud machine and puts them in a beautiful app on your desk and in your pocket.

  1. Shut the lid mid-task.

    The agent isn’t on your laptop. It’s on a machine in the cloud that Otto set up for you.

  2. Nothing stops.

    Reading, editing, running the tests, fixing what failed. For hours, if that’s the job.

  3. It asks your phone.

    When a step needs a yes, the question finds you. Answer it, put the phone down, go back to sleep.

11:40 pm
linkshort · Boat0:00:00
  • readsrc/server.ts
Tuesday
11:40
OTTO now
build wants to run a command
git push origin main
DenyAllow

A real app.
Not a terminal in a tab.

Watch it work.

Replies stream in as they’re written. Every file it reads, every edit and every command is listed, step by step. Stop it or steer it any time.

Run a few at once.

Each agent gets its own session. Start three, switch between them, let them all run.

Read what it wrote.

The file tree and the code, right next to the conversation, with syntax highlighting.

See what changed.

Every changed file, the context it used, the tokens and the cost, for every session.

Find anything.

Sessions, agents, panels, settings. All one keystroke away.

Make it yours.

Light, dark, or your own photo behind frosted glass. It sits on your desk all day; it should look like it belongs.

You set the rules.
It keeps the hours.

b
build
Agent permissions
Click to change
  • read**
  • editsrc/**
  • bashbun test*
  • bashgit push*
  • read.env*
  • mcpgithub · create_issue
build wants to run
git push origin main

Allow, ask or deny, per tool, per skill and per MCP server, with patterns for paths and commands. Anything set to ask waits for you, wherever you are.

00061218Next run in0h 47mRun the test suite
  • Run the test suiteEvery night03:00
  • Summarize yesterday’s changesWeekdays07:30
  • Triage new issuesMondays13:00

Schedules are cron jobs on the agent machine, so they run with Otto closed and every device you own asleep. The hand is your time right now.

Your laptop is just
the window.

Paste a key from Boat, boxd, E2B or Daytona and Otto starts a Linux machine, installs OpenCode, runs it as a service behind its own password and connects over HTTPS. Sessions, agents and schedules live there, so every device sees the same thing. No Otto server sits in between.
Your devices
Mac, Windows, Linux, iOS, Android
REST, when you act
one live event stream back
HTTPS
B
Agent machine on Boat
systemd · opencode serve

Free, open source,
and yours.

Download for Apple siliconOtto_0.2.0_aarch64.dmg
$curl -fsSL https://jaygupta.dev/otto/install.sh | sh

Also: Intel Mac

Not notarized yet, so the command above is the easy way in. With the .dmg, open Otto once, then click Open Anyway in System Settings → Privacy & Security.

v0.2.0 · MIT · no account, no trackingSource on GitHub ↗