How to Supervise Harness Runtime Sessions from the Cuttlefish iOS Apppublic

Last verified 29 Oct 2026

DigitalOcean Harness Runtime provides managed, hardware-isolated microVM sandboxes with built-in tools such as Chromium to run harnesses and execute arbitrary code. Rich lifecycle APIs preserve conversational history and working state across sessions, letting you pause, resume, and fork work to control costs and adapt to the nonlinear nature of agentic workflows. Scale complete agents such as Claude Code or use sandboxes independently for code execution, all through the same service. See What You Can Build for example use cases.

Cuttlefish is an iOS app for supervising DigitalOcean Harness Runtime sessions from your phone. Agents, sandboxes, and tool calls all run on DigitalOcean, so sessions keep running when your phone is locked or offline, or when the app is closed. Use the app to follow a session as it runs, send corrections, approve or deny tool calls, and work with the files the agent produces.

Cuttlefish works with any agent your team runs on Harness Runtime, such as Codex, Claude Code, or OpenCode.

Prerequisites

  • An iPhone running iOS 26.5 or later.
  • A DigitalOcean account on a team with access to Managed Agents.

Install and Sign In

Download Cuttlefish from the App Store, then open it and tap Sign in with DigitalOcean. Sign in to DigitalOcean in the browser sheet that opens and choose the team you want to use.

Cuttlefish requests the agent_harness_session:read, agent_harness_session:create, agent_harness_session:operate, agent_harness_session:manage, action_gateway:read, and genai:read OAuth scopes. Allow all of them. If any are cleared, sign-in fails with “Cuttlefish needs access to Managed Agents to work.” If you choose a team that can’t use Managed Agents, sign-in fails and asks you to pick another team.

Each sign-in opens a browser with no saved cookies, so it always asks which account to use. To add more teams, including teams under another DigitalOcean account, or to switch between them, open the settings menu in the sidebar.

Follow and Steer a Session

The home screen lists your environments and their sessions, grouped by recency or by environment. Tap a session to open it. Replies, the agent’s reasoning, and tool calls stream in as the agent works. Cuttlefish caches transcripts on the device, so reopening a session picks up where you left off instead of replaying its history.

From an open session, you can:

  • Send a message, including a correction while the agent is mid-run. You can dictate messages. Dictation uses on-device speech recognition, and audio isn’t sent to DigitalOcean.
  • Stop the current run.
  • Pause or resume the session. Pausing suspends compute and preserves the workspace and conversation. See Manage Sessions.

Approve or Deny Tool Calls

When an environment’s permission policy is set to ask for an action, the agent waits for your decision. Cuttlefish shows the request with the full command, file path, or diff. Allow or deny it. When you deny a request, you can add a reason, which is kept with the decision.

Cuttlefish marks requests that look risky and shows why, such as a recursive delete, a force-push, a command run with sudo, or a script piped from the internet into a shell. Allowing a risky request requires Face ID or your device passcode. If the device has neither set up, Cuttlefish asks you to confirm instead.

If the agent asks a question rather than requesting a tool call, you can’t answer it in Cuttlefish. Answer it from doctl, or dismiss it in Cuttlefish.

Work with Files, Checkpoints, and Artifacts

  • Files: Browse and preview files in the session’s workspace, upload files and photos, and share files the agent produced. To move files from your computer, see Transfer Files.
  • Checkpoints: Create a checkpoint, fork a new session from one, or roll the session back to one. See Checkpoint, Fork, and Roll Back Sessions.
  • Artifacts: View documents, spreadsheets, and pages the agent created. When you open Artifacts, Cuttlefish also scans the sandbox for open ports serving web content, such as a Next.js or Python development server, and lists them. Tap a server to view it. To reach a sandbox port from your computer instead, see Forward Sandbox Ports.

Create an Environment

Cuttlefish includes a guided form that builds the environment spec for you. Secrets you enter in the form are stored in DigitalOcean’s secret store, removed from the spec, and never shown again. To change a secret later, enter it again.

To let the agent clone, commit, and push with your team’s GitHub account, turn on Allow GitHub access in the form and tap Connect GitHub. GitHub access is team-scoped, so reconnecting removes your team’s current connection right away. See Connect GitHub.

Get Notified

Cuttlefish notifies you when a session needs an approval, when a run completes, and when a run fails. A run you stop isn’t treated as a failure. The session you’re currently viewing doesn’t send notifications. To choose which notifications you get, open the notification settings from the settings menu.

Notifications arrive promptly while Cuttlefish is open. In the background, iOS decides when Cuttlefish checks for changes, so notifications can arrive many minutes late, and they don’t arrive at all after you force-quit the app.

Limitations

You can’t do the following in Cuttlefish. Use the Control Panel, doctl, or the API instead.

  • Create or edit Toolbelts.
  • Edit the tools on an existing environment.
  • Connect provider accounts for Action Gateway tools. Cuttlefish gives you a link to connect them instead. See Connections.
  • Answer questions the agent asks.
  • Edit code or do in-depth code review.

Data and Privacy

  • Sign-in tokens are stored in the Keychain on your iPhone only and aren’t synced to your other devices. Signing out revokes them.
  • Cached transcripts and session lists are excluded from device backups and deleted when you sign out.
  • Prompts, files, and photos you send go to DigitalOcean and to the model provider your environment uses.
  • Cuttlefish includes no analytics, advertising, or crash-reporting SDKs and doesn’t track you.

For details, see the Cuttlefish Privacy Policy. For help, contact DigitalOcean Support and include the app version, which is shown under About Cuttlefish in the settings menu.

We can't find any results for your search.

Try using different keywords or simplifying your search terms.