Cloud agent setup

Give your cloud agent a flywheel.

Prebuilt tools for tasks, coordination, code checks, memory and reusable skills, installed in your provider's setup phase. Hand the setup to a browser agent, or follow the illustrated guide.

1Choose your cloud agent

2Pick how to set it up

Recommended

Let a browser agent set it up

Copy one complete brief and paste it into a ChatGPT chat with computer use enabled, or any agent that can operate your browser. It follows every click, fills in the scripts and asks before sign-ins or policy changes.

Every step, field value, script and verification check for Claude Code, in one paste.

Follow the illustrated guide6 steps · 4 real screenshots · copy buttons on every script
tools11 executables
10
Claude installhosted run
12s
secretsno source builds
0
download hostsboth public
2

Know your way around? That is the entire Claude setup script. The guide shows the exact field.

Claude Code · setup script
#!/bin/bash
(
acfs_cloud_setup="$(curl -q -fsSL --proto '=https' --proto-redir '=https' --connect-timeout 5 --max-time 20 -A 'OpenAI File Downloader, XaiImageApiFetch/1.0' -H 'Accept-Encoding: identity' https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/main/scripts/claude-code-web-setup.sh)" || { printf '%s\n' 'ACFS cloud bootstrap download failed; tools were not installed. Check network access and retry.' >&2; exit 0; }
printf '%s\n' "$acfs_cloud_setup" | bash
)

Illustrated guideHosted test

Set up Claude Code

Create an environment, add the flywheel setup, then select it when starting your task.

Four actual UI screenshots. The form screenshots show the fields before you fill them in. Checked 8 Oct 2026.

What is verified. Full and default Trusted hosted runs installed all eleven executables and passed Agent Mail MCP health. The cold Trusted run took 53 seconds using verified public fallbacks. Organization policies may still block those downloads; inspect the setup summary.

Step 1 of 6 · 0 done

Open the Cloud menu

  1. Step 1 of 6

    Open the Cloud menu

    Open claude.ai/code. Above the task box, click the environment chip (Default in this example). Choose Cloud in the menu.

    Claude task composer with the environment menu showing Local, Cloud and Remote Control.
    1. Environment chip
    2. Cloud

    1. Choose Cloud · Claude Code, 8 Oct 2026

  2. Step 2 of 6

    Choose Add cloud environment…

    In the Cloud submenu, click Add cloud environment… at the bottom of the list. To update an existing environment, open its configuration instead.

    Cloud submenu showing existing Default environments and Add cloud environment at the bottom.
    1. Add cloud environment…

    2. Add a cloud environment · Claude Code, 8 Oct 2026

  3. Step 3 of 6

    Name it and choose network access

    In Name, enter Flywheel (or any name you will recognize). Open Network access and choose Full for the simplest setup.

    For a narrower policy, choose Custom, allow the two hosts below and tick Also include default list of common package managers so your project's own installs still work. The default Trusted also works: the mirror is blocked there, so setup uses verified public GitHub fallbacks. If your organization blocks those downloads, the setup summary names the missing tools.

    Where this goes

    Name
    Flywheel
    Network access
    Full, or Custom with the two hosts
    Custom allowed domains
    raw.githubusercontent.com
    downloads.agent-flywheel.com
    Add cloud environment dialog with Network access expanded to None, Trusted, Full and Custom.
    1. Name
    2. Full

    3. Full and Custom are in Network access · Claude Code, 8 Oct 2026

  4. Step 4 of 6

    Paste into Setup script

    Copy the script below into the Setup script field. The npm install text in the screenshot is a placeholder, not the flywheel script.

    If you already have project setup commands, keep them and add the flywheel download line after them. No network secret or environment variable is required for these public downloads.

    Where this goes

    Destination
    Setup script
    Setup script
    #!/bin/bash
    (
    acfs_cloud_setup="$(curl -q -fsSL --proto '=https' --proto-redir '=https' --connect-timeout 5 --max-time 20 -A 'OpenAI File Downloader, XaiImageApiFetch/1.0' -H 'Accept-Encoding: identity' https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/main/scripts/claude-code-web-setup.sh)" || { printf '%s\n' 'ACFS cloud bootstrap download failed; tools were not installed. Check network access and retry.' >&2; exit 0; }
    printf '%s\n' "$acfs_cloud_setup" | bash
    )
    Add cloud environment form with Name, Network access, Setup script, Environment variables and Add environment button.
    1. Setup script
    2. Add environment

    4. Paste into Setup script, then Add environment · Claude Code, 8 Oct 2026

  5. Step 5 of 6

    Add the environment and check a session

    Click Add environment. Back at the composer, select Flywheel and your repository, then send a task. Setup runs before the agent starts.

    Paste the request below into the task. Review failures in the setup log even when setup reports exit 0.

    First task check
    Read $HOME/.acfs/cloud/setup.log and the generated tool guide. In the task shell, export PATH="$HOME/.local/bin:$PATH". Run --version for br, bv, am, mcp-agent-mail, ubs, cass, cm, ms, ast-grep, jsm and jfp. Report every missing or failed executable and the relevant setup-log reason. An exit-0 setup does not mean all tools installed. Also verify the registered Agent Mail stdio MCP server is healthy.
  6. Step 6 of 6

    Use the same environment next time

    For later tasks, choose Flywheel from Cloud and select the repository. Claude reads the managed tool guide from ~/.claude/CLAUDE.md.

    After changing the setup script, start a fresh session and check the log again. Keep your project instructions and setup commands alongside the flywheel additions.

How installation works

Fast, verified, and honest about failures

  • Verified prebuilt tools

    Every bundle is checked against cloud-mirror.json in the ACFS repository before extraction. Upstream checksums and available signatures were verified when the mirror was published. Nothing compiles and no upstream installer runs in your session.

  • Bounded setup time

    Tool jobs run in parallel. Each has a 180-second deadline covering its download, install and version checks, so setup fits inside the provider's setup window.

  • Failures stay visible

    The installer always exits 0, so one unavailable tool never blocks session startup. Read the summary and setup log: a finished script does not mean every tool installed.

  • Agent Mail without a daemon

    Claude gets an on-demand stdio MCP server. Other recipes expose the Agent Mail CLI without starting a daemon or changing provider MCP settings.

  • A guide the agent can read

    A managed instruction block lists working tools, commands and failures. Claude loads it automatically; other agents need the explicit guide-loading instructions in their recipe.

setup output · Claude Code
[acfs-cloud] ACFS cloud setup: br bv am ubs cass cm ms ast-grep jsm jfp    ACFS ref: main, whole tool job timeout: 180s    Installing br … Installing jfp  # 10 parallel jobs    Registered Agent Mail as the stdio MCP server 'mcp-agent-mail'[acfs-cloud] Summary (12s)    br    ‹version› (verified prebuilt)    bv    ‹version› (verified prebuilt)    am    ‹version› (verified prebuilt)    ubs   ‹version› (verified prebuilt)    cass  ‹version› (verified prebuilt)    cm    ‹version› (verified prebuilt)    ms    ‹version› (verified prebuilt)    ast-grep ‹version› (verified prebuilt)    jsm   ‹version› (verified prebuilt)    jfp   ‹version› (verified prebuilt)    Guide for claude: ~/.claude/CLAUDE.md; logs: ~/.acfs/cloud/logs/

Abridged from the script's real summary. Times are from our hosted runs; versions vary.

What gets installed

Ten tools that carry the work forward

11 executables from hash-pinned bundles, installed into .local/bin under your data root. Install a subset with ACFS_CLOUD_TOOLS.

Plan the work

Issues that live in the repo, triaged by what they unblock.

  • BeadsRust

    br

    Dependency-aware issues that live in the repo's .beads/ and travel with the code.

  • Beads Viewer

    bv --robot-triage

    Graph-aware triage: what to work on next and what it unblocks.

Coordinate

Messages and file reservations between agents.

  • MCP Agent Mail

    ammcp-agent-mail

    Agent messaging and file reservations. Claude gets stdio MCP registration; other agents get CLI access.

Check the code

Bug scans and structural search before a commit.

  • Ultimate Bug Scanner

    ubs <files>

    Scans changed files for bugs before every commit.

  • ast-grep

    ast-grep

    Structural code search and UBS scan dependency.

Remember

Search past sessions and recall learned procedures.

  • Session Search

    cass search "query" --robot

    Searches the agent session history on this VM.

  • CASS Memory

    cm context "task" --json

    Procedural memory pulled in before a task starts.

Skills and prompts

Reusable skills and a prompt library from the terminal.

  • Meta Skill

    ms search "query" --robot

    Initialize a writable project, then index and search its local skills.

  • Jeffrey's Skills

    jsm

    Skill manager for the jeffreys-skills.md library.

  • JeffreysPrompts

    jfp

    The battle-tested prompt library, from the terminal.

Network access

Two public download hosts

No credentials or repository ownership needed. Use full access, or allow these hosts in your provider's policy. Setup never falls back to a source build.

Allowed domains
raw.githubusercontent.com
downloads.agent-flywheel.com

What each level does, in Claude's terms. Other providers have equivalent settings.

  • FullWorks

    The setting our Claude hosted run used. Everything comes from the public mirror.

  • CustomShould work

    Allow the two hosts below and keep the provider's package-manager defaults so your own installs still work. This allowlist passed the ChatGPT hosted test; Claude's Custom mode has not been accepted.

  • TrustedTested

    Our cold Claude run installed all eleven executables in 53 seconds through verified public GitHub fallbacks, including JSM. The mirror is blocked and UBS fetches its modules on first use. Organization policies may still block downloads; read the summary.

  • NoneNothing installs

    Claude's one-line recipe still exits 0, so the session starts without the tools or a log. The Codex and Linux recipes fail so the problem is visible.

Reference

Scope and options

What this bundle leaves outMachine provisioning and the tools that need a long-lived host.
  • Machine provisioningUsers, zsh theming, the Ubuntu upgrade, systemd services, Tailscale, PostgreSQL, Vault, and cloud CLIs belong to a long-lived VPS. A cloud VM is disposable and already has its toolchains.
  • ntmThe tmux cockpit is outside this tool bundle. These recipes focus on commands an agent can call in task shells.
  • dcgdcg works as a Claude Code hook. Cloud sessions run hooks from the repository's .claude/settings.json, not from user-level settings, and this installer never edits your repository.
  • rchRemote compilation needs SSH access to your own build workers.
  • caam, ru, slbAccount switching, multi-repo sync, and the two-person rule all assume a machine you keep using.
Options and environment variablesPick tools, a data root, a deadline or a pinned ref.

Set options inline on the bash side of the pipe, where the setup script sees them. Your Claude Code recipe, installing four tools:

Claude Code · subset install
#!/bin/bash
(
acfs_cloud_setup="$(curl -q -fsSL --proto '=https' --proto-redir '=https' --connect-timeout 5 --max-time 20 -A 'OpenAI File Downloader, XaiImageApiFetch/1.0' -H 'Accept-Encoding: identity' https://raw.githubusercontent.com/Dicklesworthstone/agentic_coding_flywheel_setup/main/scripts/claude-code-web-setup.sh)" || { printf '%s\n' 'ACFS cloud bootstrap download failed; tools were not installed. Check network access and retry.' >&2; exit 0; }
printf '%s\n' "$acfs_cloud_setup" | ACFS_CLOUD_TOOLS="br bv am ubs" bash
)
ACFS_CLOUD_AGENT
Default: claude
claude writes ~/.claude/CLAUDE.md and registers stdio MCP; codex writes a Codex guide; generic writes .acfs/cloud/AGENTS.md without provider configuration. Any other value installs nothing.
ACFS_CLOUD_ROOT
Default: $HOME
Writable absolute data root (not /) for binaries and logs. In Codex mode a custom root also holds the explicitly loaded guide.
ACFS_CLOUD_SKILL_DIR
Default: unset
Optional absolute Codex repository skill directory. Creates a tool-guide skill without replacing existing skills; hosted catalog loading still needs verification.
ACFS_CLOUD_TOOLS
Default: br bv am ubs cass cm ms ast-grep jsm jfp
Which tools to install.
ACFS_CLOUD_TIMEOUT
Default: 180
Deadline in seconds, from 1 to 180, for each tool's job: download, install and version checks. Jobs run in parallel; an out-of-range value installs nothing.
ACFS_CLOUD_REINSTALL
Default: 0
Set to 1 to reinstall tools already on PATH, e.g. to update inside a running session.
ACFS_REF
Default: main
The ACFS git ref whose cloud-mirror.json pins prebuilt bundle hashes.

Want the whole stack?

The cloud script covers the tools an agent calls. A VPS of your own gets everything: the shell, tmux, every agent CLI, and the services that keep running between sessions.