Cloud agents

Cloud agents

Run Hull in a cloud sandbox against your repositories, from any browser.

Cloud agents run Hull in an isolated Linux sandbox instead of on your machine. Pick a repository, describe the task, and the agent clones the repo, works on its own branch, runs commands and pushes its changes. You can start and follow cloud sessions from app.withhull.com/cloud, the mobile app, Slack, and the GitHub and Linear integrations.

Plans

Cloud agents are available on paid plans, with included Small runtime hours:

PlanIncluded Small runtimeSimultaneous cloud jobs
FreeLimited trialTrial limits
Starter1 hour/month1
Pro3 hours/monthUp to 2
Teams$0.20 monthly cloud compute allowance per seatSet by your organization plan

Compute is billed only while the sandbox runs. Model usage during a session counts against your AI allowance, the same as in Hull Code or the Hull CLI. Additional compute is pay as you go:

SizeResourcesPrice
Small0.5 vCPU, 4 GiB RAM$0.20/hour
Standard1 vCPU, 6 GiB RAM$0.35/hour
Large2 vCPU, 8 GiB RAM$0.60/hour

See withhull.com/pricing for current prices.

Before you start

Connect a Git provider on the Integrations page so the agent can clone and push. Cloud agents work with GitHub and GitLab repositories, and with Bitbucket Cloud repositories connected to an organization. See Integrations.

Start a session

Open app.withhull.com/cloud, or Cloud in your organization's sidebar.

Choose a repository and branch, a model and a mode.

Optionally pick an environment profile, or add environment variables and setup commands for this session.

Describe the task and send it. Hull prepares the environment and the agent starts working.

How a session works

When a session starts, Hull:

  1. Clones your repository into a workspace for that session.
  2. Creates a branch named session/<session-id>, unless you chose a branch to work on.
  3. Injects your environment variables and secrets.
  4. Runs your setup commands.

After each message, the agent commits its changes and pushes them to the session branch. It doesn't push to main or master unless you chose that branch explicitly. If a push fails, the commit stays in the sandbox and the session shows the error.

The agent doesn't stop to ask for permission on each tool call, so it can keep working while you're away. Review its branch or pull request before you merge.

The sandbox

  • Each session gets its own workspace directory and home directory.
  • The image includes git and Git LFS, the GitHub CLI (gh), the GitLab CLI (glab), Node.js, pnpm, jq and ripgrep.
  • Sandboxes sleep after a period of inactivity. The first message after an idle period takes a little longer while the environment is restored.
  • Context carries across messages in the same session.

Environment profiles

An environment profile is a reusable bundle of settings for cloud sessions. A profile can include:

  • Environment variables (plain text)
  • Secrets (encrypted at rest and decrypted only inside the sandbox)
  • Setup commands that run before the agent starts
  • MCP servers and skills

Profiles belong to you or to an organization. Each owner can mark one profile as the default, and your personal default takes priority over the organization default. Use Save as Profile in the session setup to turn the current settings into a profile.

Variables and setup commands you add when starting a session override the selected profile for that session.

Setup commands

Setup commands run after the repository is cloned and the branch is checked out. Use them to install dependencies or bootstrap tools. They run again whenever a sandbox starts cold.

Cloud agents don't run repository setup scripts automatically. To use one, call it from a setup command, for example bash .hullcode/setup-script.

Skills

Skills in a profile are installed into the session's home directory, so they're available in every session that uses the profile. Project skills committed to your repository load the same way they do locally. See Skills.

Remote connections

Remote connections show your local Hull CLI sessions in the cloud dashboard, so you can follow and reply to them from a browser or the mobile app. Your computer does the work; Hull relays messages, questions and permission requests.

Turn it on with /remote during a CLI session. See CLI remote connections. The CLI must keep running with an internet connection, signed in to the same Hull account.

Anyone with access to your Hull account can send messages to your computer while remote mode is on.

Triggers

Triggers start cloud sessions automatically. Open Webhooks / Triggers in the sidebar, or go to app.withhull.com/cloud/triggers.

Each trigger has an activation mode that you choose when you create it and can't change later:

  • Webhook: runs when a service sends an HTTP request to the trigger's URL.
  • Scheduled: runs on a cron schedule in the timezone you choose (UTC by default).

Triggers require an environment profile. The profile is read each time the trigger runs, so profile changes apply to future runs. You can't delete a profile while a trigger uses it.

Personal triggers run as you. Organization triggers run as an organization bot user, and you can share or fork their sessions when they finish.

Prompt template variables

Reference request data in the trigger's prompt template:

VariableTriggerValue
{{body}}WebhookRaw request body
{{bodyJson}}WebhookPretty-printed JSON if the body parses, otherwise the raw body
{{method}}WebhookHTTP method
{{path}}WebhookRequest path
{{headers}}WebhookRequest headers as JSON
{{query}}WebhookQuery string without the leading ?
{{sourceIp}}WebhookClient IP, or unknown
{{scheduledTime}}ScheduledTime the schedule fired (ISO 8601)
{{timestamp}}BothTime the request was captured (ISO 8601)

Limits

  • Request bodies up to 256 KB. Larger requests return 413.
  • Binary and multipart bodies are rejected with 415, including multipart/*, image/*, audio/*, video/*, application/octet-stream, application/pdf and application/zip.
  • Up to 20 requests per trigger can be queued or running at once. More return 429.
  • Hull keeps the 100 most recent requests per trigger. Open a trigger's request history to see each request's source, status, payload and resulting session.

Webhook payloads become part of the agent's prompt, so untrusted input can carry prompt injection. Only point webhooks at trusted sources.

MCP gateway

Cloud > MCP Gateway stores connections to remote MCP servers, including their OAuth credentials, and exposes them to Hull through a gateway URL. For MCP in Hull Code and the CLI, see MCP.

Tips

  • Break large tasks into smaller messages. A plan.md or todo.md in the repository keeps scope clear across turns.
  • Put shared setup in a profile instead of repeating it in each session.
  • Cloud sessions can be continued locally, and local sessions can be continued in the cloud.

On this page