Ask Claude for your app as a single self-contained HTML file, open the Artifact, copy it or use the share button, and bring it into CanvasRunner. It runs locally on your phone — offline, in its own sandbox — and you can pin it to your home screen.
Claude Artifacts are great for one-off tools: a trip planner, a workout log, a calculator tuned to your exact situation. The catch is that an Artifact lives inside a chat. Close the tab and you have to go find the conversation again, and on a phone it never quite feels like a real app.
CanvasRunner fixes that last step. It takes the app Claude produced and runs it on your phone as its own thing.
1. Ask for the right shape
When you describe what you want, add one instruction:
Build it as a single self-contained HTML file — all CSS and JavaScript inline, no external requests, works offline.
That keeps everything in one place and means the app will run with no signal. Claude Artifacts are usually already close to this; the reminder just removes any CDN links or fonts that would need the network.
A few things worth asking for while you are there:
- Local storage, if the app should remember your entries between sessions.
- A clear layout for a narrow screen — you will be using this on a phone.
- Any device features you want: a notification, a vibration, your location.
2. Get the Artifact out of the chat
You have two options:
- Share. In the Claude app, use the share action on the Artifact and pick CanvasRunner from the sheet.
- Copy and paste. Copy the Artifact's code, switch to CanvasRunner, and tap Paste app. It reads the clipboard once and shows you what it found.
Either way, CanvasRunner shows a confirmation with the detected name before it creates anything. Nothing happens automatically.
3. Run it
The app opens straight away in an isolated sandbox on your device — separate from your other apps and from CanvasRunner itself. No account is needed just to run one.
If something is off, open the app in the Inspector. There is a real JavaScript console, a network log, and a storage view. Tap Copy fix prompt, paste that back to Claude, and paste the corrected version into CanvasRunner again. Same two taps as the first time. This is the loop that makes a personal app actually usable — you shape it as you go.
4. Pin it to your home screen
Once it works, pin it. It gets its own icon (swap in a photo or logo if you like), launches full-screen with no browser chrome, and shows up in the Recents switcher on its own. At that point it is indistinguishable from an installed app, except that you built it in a minute and nobody else has it.
What about ChatGPT and Gemini?
The same process works. ChatGPT's canvas and Gemini both produce HTML you can copy, and CanvasRunner will take it from the clipboard or the share sheet. See the FAQ for the short version.
More on the idea behind this: personal software — apps built for one person.