CodeForge guide

CodeForge lets you use Claude Code from your phone. Each project gets its own GitHub Codespace, a full Linux computer in the cloud where Claude writes, runs and commits code while you watch the output live. Everything runs on your own GitHub, Claude and Cloudflare accounts.

Open CodeForge

Early test version. Things may change or break. If something goes wrong, tell the person who shared CodeForge with you and include what the app showed.

What you need

What it costs

CodeForge itself is free while it's in testing. You pay the services you already use, on your own accounts:

Install the app

  1. On your phone, open this site in Chrome.
  2. Tap Install on the banner at the top of CodeForge, or use Chrome's menu → Add to Home screen / Install app.
  3. Open CodeForge from your home screen from now on.

Sign in (3 steps)

The first time you open CodeForge it shows three steps. Each one is checked before it's saved. Your Claude and Cloudflare sign-ins are saved as encrypted Codespaces secrets in your GitHub account, so your codespaces can use them. Nothing is stored on CodeForge's servers.

1. GitHub

  1. Tap Sign in with GitHub. The app shows a short code.
  2. Tap Copy code & open GitHub, paste the code, tap Continue, then Authorize.
  3. Switch back to CodeForge. It updates by itself within a few seconds.

CodeForge asks for access to your repositories and codespaces so it can create them for you. The Open the relay port automatically box (on by default) lets your codespaces make themselves reachable from your phone. See Privacy and security for what that means before you decide.

2. Claude

Pick one:

3. Cloudflare (optional)

  1. Tap Open Cloudflare API tokensCreate TokenCreate Custom Token.
  2. Add one permission: Account → Cloudflare Pages → Edit. Create it and tap Copy.
  3. Paste it into CodeForge, add your Account ID (the long code in your Cloudflare dashboard's address bar), and tap Check & save.

Or tap Skip for now; you can add it later under ⚙ → Sign-in & accounts.

You only do this once. On another phone, just sign in with GitHub and your saved Claude and Cloudflare sign-ins are picked up.

Start a project

New project

  1. Type a name for the new repository (for example todo-app). Keep Private ticked unless you want it public.
  2. Tell Claude what to build, as you would a developer. Be specific about what you want and where it should end up, for example: "Build a mobile-friendly todo list PWA that works offline, then deploy it to Cloudflare Pages."
  3. Tap Launch codespace.

Existing repo

  1. Tap Existing repo, search for the repository and tap it, then pick a branch.
  2. The prompt is optional: leave it empty to just open the codespace, or give Claude a task.
  3. Tap Open in codespace.

CodeForge adds one commit to the chosen branch: a folder called .devcontainer/codespace-control/ that sets up the codespace. Your own files and any existing devcontainer are left alone.

The progress bar shows each stage. A brand-new codespace takes about 3–6 minutes the first time (longer with Android tools) while it installs Claude Code. Starting it again later takes under a minute.

While Claude works

When it's done

Tap ✓ Completed (or at any time):

OptionWhat it does
⏸ StandbyStops the codespace. Files are kept and it stops using hours. Tap Start on the home screen to continue later.
▶ Keep runningLeaves it on for more prompts or to preview the app. Codespaces also stop by themselves after a period of inactivity (set in ⚙ → Idle timeout).
📁 FilesBrowse the project and download single files or everything as a .zip, including work Claude hasn't pushed yet. Tap Save when the download is ready.
Preview :3000 / :8080Opens the app Claude is running, if it started a server on those ports. Sign in to GitHub in your browser if asked.
🗑 DeleteDeletes the codespace. Anything not pushed to GitHub is lost; the repository stays.

Building Android apps

  1. Tick Android build tools before launching. The codespace then comes with Java and the Android SDK installed. The first start takes a few extra minutes.
  2. Ask for an APK, for example: "Build this as an Android app and produce a debug APK." Claude puts finished files in a dist/ folder.
  3. Open ⋯ → 📁 Files, tap the .apk, then Save.
  4. Open the downloaded file to install it. Android may ask you to allow installs from Chrome or your Files app the first time (Settings → Apps → Special app access → Install unknown apps).

The first Android build in a new codespace is slow (often 5–15 minutes). Later builds are much faster.

Troubleshooting

ProblemWhat to do
Stuck on "Waiting for the relay"A first start can take 6 minutes, or more with Android tools. If it's much longer, make sure Open the relay port automatically is on (⚙ → Sign-in & accounts → GitHub). Or open ⋯ → Open in VS Code (web), go to the Ports tab, right-click port 5555 → Port Visibility → Public.
"Invalid API key" or "Invalid bearer token"Your Claude sign-in is wrong or expired. Redo step 2 under ⚙ → Sign-in & accounts → Claude → Change, then restart the codespace (Standby, then Start) so it picks up the new sign-in.
A setting changed but the codespace doesn't see itCodespaces read your sign-ins when they start. Use Standby, then Start.
"GitHub sign-in is not available"The CodeForge site isn't fully configured. Tell the person who shared it. Meanwhile you can use a GitHub personal access token (classic, with repo and codespace scopes) under ⚙ → Advanced.
Can't see or use an organisation's repositoriesThe organisation may block third-party apps. Ask an owner to approve CodeForge in the organisation's settings (Third-party access), or use a personal access token.
Codespace won't createYou may have used your free allowance or hit a spending limit. Check github.com/settings/billing.
No notificationsAllow notifications for this site in Chrome, turn them on in ⚙ → Notifications, and tap Send test. Codespaces created before you turned notifications on won't notify; open them again or create a new one.
Files says the codespace is too oldIt was created before downloads existed. Delete the codespace and open the repo again, or use the last pushed version from GitHub link.
A "Not a CodeForge codespace" entryThat codespace was created outside CodeForge, so there's nothing to connect to. Tap Set up to open that repo with CodeForge instead.

Privacy and security

Where your data lives

What Claude can do

Remove everything

  1. In CodeForge: ⚙ → Sign out.
  2. Revoke GitHub access: github.com/settings/applicationsAuthorized OAuth Apps → CodeForge → Revoke.
  3. Delete the saved sign-ins: github.com/settings/codespaces → Codespaces secrets → delete CLAUDE_CODE_OAUTH_TOKEN / ANTHROPIC_API_KEY, CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID and CODESPACECONTROL_GH_TOKEN.
  4. Delete codespaces you no longer need at github.com/codespaces, and repositories (including codespacecontrol-setup) if you want.
  5. If you used an API key or a Cloudflare token only for CodeForge, delete them in the Anthropic console and Cloudflare dashboard as well.