Skip to main content

fused-render

Download for macOS and Linux →

Your files, your AI, your apps — on your own machine. Browse any directory in the browser, run AI models locally, and describe an app for Claude Code to build. Any .html file you open gets a tiny injected runtime that can call a Python main() function and sync its state to the URL.

Runs entirely on 127.0.0.1. No accounts, no cloud, no sandboxing — your own machine, your own trusted code.

Download

Download from render.fused.io:

  • macOS — .dmg, Apple silicon
  • Linux — AppImage

macOS is the native build; Linux has limited support. Windows is not supported. Trouble on first run? See troubleshooting.

Other ways in

Homebrew — the same macOS app, from the tap:

brew install --cask fusedio/tap/fused-render

GitHub releases — every build the download page serves is also attached to its release, if you want an older version or a checksum.

Python package — for running fused-render inside a Python environment you already have, rather than as a desktop app. Each release attaches a wheel (see the release notes for its URL). The base install runs one app:

pip install <wheel-url>
fused-render open https://github.com/<owner>/<repo>/tree/main/<app>

There are three tiers. The base install runs fused-render open. The file explorer (fused-render serve) needs pip install '<wheel-url>[cli]': search, the index, Repos, previews, the Hugging Face login, plus deploy, share and MCP, about 230 MB on top of the base. [all] adds the native desktop integrations (LAN discovery, screen capture, pasteboard); serve runs without them and says so at startup. The extras on their own are [index] (file search), [data] (pyarrow for scripts), [hf] (Hugging Face login), [desktop] (LAN sharing, capture, clipboard) and [fused] (deploy, share, MCP). From a source checkout:

pip install -e '.[all]'

Requires Python 3.11+. Building from source and the local dev loop live in CONTRIBUTING.md.

What's in it

Home opens on a file search, with everything on this machine below it:

  • Apps — describe one in a sentence; Claude Code names it, scaffolds it, and opens a chat on it. Community apps from the showcase are yours to open and edit in place.
  • AI models — image, video (Apple silicon), speech-to-text and embeddings run locally, from the Playground or from your own pages. The AI Models page shows what's on disk and what fits this machine.
  • Claude Code, without the terminal — every Claude session on this machine in one place, and Tasks: prompts that run on a schedule.
  • Files — comes with apps for opening Parquet, PDF, notebook, spreadsheet, point clouds, and more.

Run

The downloaded app opens Home in a browser tab. From a pip install with [cli] or [all] it's a command:

fused-render

Either way you land on http://127.0.0.1:1777/. Useful flags:

fused-render --start-dir ~/data --port 9000 --no-browser

--start-dir is where the explorer starts (default ~/Fused); the whole filesystem stays browsable from there.

Authoring

Any .py file is a runnable target as long as it defines a main() function:

# sine.py
import math

def main(n: int = 80, freq: float = 1.0):
    return {"points": [[i / n, math.sin(2 * math.pi * freq * i / n)] for i in range(n)]}

Any .html file can call it and bind the result to the URL:

<input id="freq" type="range" min="0.1" max="5" step="0.1" />
<script>
  const slider = document.getElementById("freq");
  slider.addEventListener("input", () => fused.params.set("freq", slider.value));
  fused.params.onChange(draw);

  async function draw() {
    const freq = fused.params.get("freq") || "1.0";
    const { points } = await fused.runPython("./sine.py", { freq });
    // ...render points...
  }
  draw();
</script>

A page can do a lot through fused:

  • fused.runPython(pyPath, params) and fused.params — call main(**params) and keep a string key/value store in sync with the URL, so a refresh or a bookmark reproduces the view. fused.readFile / writeFile / uploadFile / mkdir / stat / rawUrl work on files directly, no Python needed. → fused-render-authoring
  • fused.ai.text({prompt, ...}) — ask Claude Code, or a local model when opts.model is a Hugging Face repo id (or pin the tier with opts.provider: "local" | "claude"). fused.ai.image / .video / .transcribe / .embed run locally; fused.ai.models lists, downloads, loads and unloads them. → fused-render-ai
  • fused.capture — record the screen or the microphone, or grab a screenshot. → fused-render-capture
  • fused.fileIndex — search and query the machine-wide file index instead of walking the filesystem. → fused-render-index
  • fused.daemon — start, stop and talk to a folder's background daemon, one the server keeps running after the page closes. → fused-render-background-apps
  • fused.trackJob / fused.watchJob — long-running work in the download manager, whether your page is doing it or the server is. → fused-render-jobs
  • fused.tasks — list, create, follow up, cancel and observe the app's Claude tasks from a page; a handle follows a new task from pending to its session, and ui() hands back the shell's Tasks page as an iframe URL. → fused-render-tasks
  • App skills — an app ships a SKILL.md that tells a bot what each .py does and how to call it; the bot loads it when a task needs the app and runs the file through the same /api/run the page uses. The format is the "App SKILL.md" section of the authoring skill. → fused-render-authoring

fused.env says whether a page is running here ("local") or exported and hosted ("hosted"). The complete list, with every option, is the header of fused_render/static/runtime.js.

Every built-in preview template is an HTML file on these same primitives — fused_render/templates/ has 140 of them to copy from.

Configuration

docs/usage.md covers the execution engine, the AI Models page, preferences, and export for hosted serving.

Claude Code plugin

This repo doubles as a Claude Code plugin marketplace. Its skills teach Claude to run the app, author views, use local AI and jobs, and build preview templates — the same skills under skills/.

From inside Claude Code:

/plugin marketplace add fusedio/fused-render
/plugin install fused-render@fused-render

Or from the command line:

claude plugin marketplace add fusedio/fused-render
claude plugin install fused-render@fused-render

The manifests live in .claude-plugin/ (marketplace.json + plugin.json).

Installing is optional and only affects your own Claude Code sessions. Chats started from inside fused-render already get these skills: the app assembles the same plugin under ~/.fused-render/skill-plugin/ and loads it per session with --plugin-dir, so they work on a plain DMG or wheel install with nothing cloned.

Security

SECURITY.md has the trust model and how to report a vulnerability.

License

Open source under the MIT license, made by Fused.

Metadata

Release files for fused-render 0.6.82

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for fused-render 0.6.82
File Interpreter ABI Platform
fused_render-0.6.82-py3-none-any.whl Python 3 none any Details

Release files / fused_render-0.6.82-py3-none-any.whl

Download URL fused_render-0.6.82-py3-none-any.whl
Size 15.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ae50de73a398d79001e684fb9757980520b42f1dfd818b0d7618e1694eafd295
BLAKE2b-256 checksum
How to use checksums
9c4513a96e7b974865938f40f85a520edf89925ed9ef48bcd87c3911cfbc6355
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Security for fused-render 0.6.82

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 1 file in this release has been uploaded with provenance metadata.

Attestation for fused_render-0.6.82-py3-none-any.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page