Llim.run

Claude Code on the web

Claude Code on the web runs each session on a Linux VM with no access to macOS, so it cannot run Xcode or the iOS Simulator on its own. Set up one cloud environment with the lim CLI, the Limrun skills, and your API key. From then on, Claude builds your iOS app on Limrun's Macs from any of your repositories and runs it on a simulator you open in your browser.

Set up the environment

Open claude.ai/code. In the environment menu below the prompt box, choose Cloud, then Add cloud environment.

Claude Code on the web environment menu with Cloud selected and the Add cloud environment entry below the Default environment

Create an API key for this environment first: open console.limrun.com/settings, go to API Keys, and click Create Token. Then fill in the dialog:

  • Name: limrun.

  • Network access: Full. To allow only specific domains instead, see Restrict network access.

  • Environment variables: your key.

    LIM_API_KEY=lim_...
  • Setup script: installs the lim CLI, then every Limrun skill into ~/.claude/skills, so Claude has the skills in any repository, including ones that do not commit them. It runs at the start of every session, before Claude Code launches.

    #!/bin/bash
    npm install --global lim
    lim skills install --agents claude --scope global
Add cloud environment dialog filled in with the name limrun, Full network access, LIM_API_KEY with a placeholder value, and the setup script

Anyone who can use the environment can read its variables. Use a key created only for this environment, and delete it in the console if the environment is ever shared more widely than you intended. Sharing the environment with your organization makes the key visible to every member who can use it.

Click Add environment. Below the prompt box, pick the limrun environment and your repository, then ask Claude to build and run your app:

Build this app with Limrun and show it to me on an iOS simulator.

How sessions behave

Restrict network access

Full network access is the simplest setup. To use Custom instead, keep the default allowlist enabled, since it covers package registries such as npm that the setup script needs, and add Limrun's domains:

*.limrun.com
*.limrun.net

Then add the hosts your own build downloads dependencies from. If a step fails with a network error, add the host it tried to reach and start a new session. For how the levels work, see Anthropic's network access documentation.

Next steps

graduation-cap

Guide: Bazel iOS app

Build a template app, change it with Claude, and review it in a pull request preview.

terminal

Set up a coding agent

The loop the skills run, and how to set them up in other agents.

hammer

Build with Xcode

Remote xcodebuild builds for projects without Bazel.

zap

Build with Bazel

Remote build execution for Bazel workspaces.