A screenplay breakdown app that doesn't phone home. Load a script, get a full breakdown — scenes, characters, locations, props, shot lists — and export prompt packs that turn any LLM into your assistant director. No API keys, no accounts, no cloud — it runs entirely on your machine.
Created by Sam Wasserman — writer/director, Wasserman Productions · wasserman.ai.
☕ A little support goes a long way! ScriptBreak is created and maintained by Sam Wasserman. If you'd like to help Sam keep creating tools for filmmakers, you can support him at ko-fi.com/samwasserman. Donations are optional — but extremely helpful and appreciated.
Part of the Wasserman Filmmaker Suite, alongside Blockout, Motion Previs Studio, Master Canvas, Storyboard Reference Studio, and DaVinci MCP.
macOS — paste one line, done. Open Terminal (⌘-Space, type "Terminal") and paste:
curl -fsSL https://raw.githubusercontent.com/wassermanproductions/scriptbreak/master/install.sh | bashIt detects your Mac (Apple Silicon or Intel), downloads the latest build, installs it to Applications, and opens it — no warnings, nothing else to do. (The script is ~30 lines, read it if you like.)
Windows & Linux — download the latest release →
| Platform | File to grab | After downloading |
|---|---|---|
| Windows | .msi or -setup.exe |
If SmartScreen appears, click More info → Run anyway. |
| Linux | .AppImage, .deb, or .rpm |
For the AppImage: chmod +x ScriptBreak_*.AppImage, then run it. |
Prefer downloading the macOS DMG by hand?
Grab ScriptBreak_x.x.x_aarch64.dmg (Apple Silicon M1–M4) or
ScriptBreak_x.x.x_x64.dmg (Intel) from the
Releases page and drag ScriptBreak into
Applications. Because browser downloads of unsigned apps are quarantined,
macOS will falsely claim the app is "damaged" — paste this into Terminal once
and it opens normally from then on:
xattr -cr /Applications/ScriptBreak.app(The install script above avoids this entirely — Terminal downloads aren't quarantined.)
Scene breakdown — import a script, get scene cards with exact page counts, cast, day/night, and auto-tagged elements:
Scene detail & tagging — script text beside the breakdown; click auto-detected suggestions or select any words in the text to tag them:
Shot lists — starter coverage per scene, including every shot the writer
explicitly called in the script ([script]), all fully editable:
Timeline — the whole film on one strip with character-presence lanes; color by location, day/night, int/ext, or character:
Bibles — character, location, and hero-prop descriptions seeded from the script itself, injected into every AI prompt for consistency:
Project Look & style guides — 13 fields of visual DNA; drop in a mood book or pitch deck PDF and its framing/camera/lighting notes flow in:
Exports — scoped prompt packs, coverage consults, breakdown sheets, CSVs, or everything at once as a zip:
Self-executing prompt packs — paste into any LLM, no API keys:
- Script breakdown — parse
.fountain,.fdx(Final Draft),.pdf, or plain.txtscreenplays into scenes, sluglines, and a full element breakdown. FDX imports use Final Draft's own embedded scene lengths for exact page counts; PDF parsing (fully offline — the PDF engine is embedded) reconstructs the screenplay from page layout. - Auto-breakdown on import — elements (props, wardrobe, vehicles, VFX, background…) tagged from word lists and from the CAPS the writer used in action lines; character/location bibles seeded from actual intro descriptions in the script; starter shot lists that include every shot the writer explicitly called (CLOSE ON, INSERT, POV…); look suggestions from script analysis. All of it editable, all of it clearable.
- Projects & drafts — a local library of projects, multiple drafts per project, and draft comparison (scenes added / cut / rewritten, page deltas, cast changes).
- Style guide ingestion — drop in a mood book or pitch deck PDF and its framing / camera / lighting / music / theme notes flow into the Look and ride inside every AI export as a binding style guide.
- Timeline — the whole film on one strip, scene widths proportional to page length, colored by location or day/night, with character-presence lanes.
- Prompt-pack exports — self-executing
.mdfiles that carry their own instructions, with per-platform dialects for video (Veo, Runway, Kling, ComfyUI/Wan, LTX, Seedance) and stills (GPT Image, Nano Banana, Krea, Seedream, Midjourney). Paste one into ChatGPT, Claude, Gemini, a local model — no integration needed. Scope any export to scene ranges, page ranges, or your current filters, or download everything as one zip bundle. - Zero setup — no server, no database, no account. Install the app, load a script, and go.
Most "AI-powered" tools want you to paste in a key and ship your script to someone else's server. ScriptBreak doesn't do that, because it doesn't call any AI at all — it exports prompt packs instead.
A prompt pack is a plain Markdown file that bundles your scene/character/shot data together with the instructions for what to do with it. You paste the whole file into any LLM you already have access to, and the LLM does the analysis on its own infrastructure, under whatever account and privacy terms you already agreed to. ScriptBreak never talks to a model provider, never holds a key, and never uploads your script anywhere. The export is the integration.
Install the desktop app. On macOS, paste the one-line installer from the Download section into Terminal. On Windows and Linux, grab the build for your OS from the Releases page and install it like any other app. Then launch ScriptBreak and load a script.
ScriptBreak's desktop wrapper is Tauri v2. Since the frontend is a single static file, there's no JS toolchain to install — just Rust.
cargo install tauri-cli --version "^2"
cd src-tauri
cargo tauri buildThat produces a native installer (.dmg/.app, .msi/.exe, or
.deb/.AppImage/.rpm) for whatever platform you're building on.
To build for all platforms at once without owning a Mac, a Windows box, and a Linux machine, push a tag:
git tag v0.1.0
git push origin v0.1.0The release workflow picks it up and builds macOS (Apple Silicon + Intel), Linux, and Windows installers, attaching them to a draft GitHub release.
| Direction | Formats |
|---|---|
| Import | .fountain, .fdx (Final Draft XML), .txt |
| Save / project file | .scriptbreak (plain JSON — readable, diffable, greppable) |
| Export | Prompt-pack .md files for any LLM |
Double-click a .scriptbreak file to open it directly in the ScriptBreak
desktop app — no need to launch the app first and use an Open… dialog. This
works in installed desktop builds (see Quick start /
Building from source); the OS registers the file
association when the app is installed (Windows/Linux) or, on macOS, the
first time the app is launched.
ScriptBreak ships a headless MCP server so an AI agent — Claude
Code, Codex, Hermes, or any MCP client — can read a saved breakdown and export
ScriptBreak's own prompt packs straight from a .scriptbreak file, without
opening the app. It's zero-dependency and needs only Node ≥ 18.
Point it at a project you saved with Save project, then add it to Claude Code:
claude mcp add scriptbreak \
--env SCRIPTBREAK_PROJECT=/absolute/path/to/your/project.scriptbreak \
-- node /absolute/path/to/scriptbreak/mcp/scriptbreak-mcp.mjsThe agent gets nine read-only tools: get_breakdown, list_scenes,
get_scene, list_elements, get_character_bible, get_location_bible,
get_shot_list, list_generators, and export_prompt_pack — the last
reproduces ScriptBreak's AI video, storyboard-frame, coverage-consult, and
script-companion packs (with the same per-generator dialects) for any scene
range, page range, or filter. See mcp/README.md for the
full tool reference and Codex/Hermes/generic config.
ScriptBreak has no server, no accounts, and no telemetry — it does its work locally and doesn't upload your script anywhere. Your script, your breakdown, and your exports live in files you control. As with any software, your overall privacy also depends on your own device and system setup.
- macOS says the app is "damaged" and should be moved to the Trash —
it isn't damaged; unsigned builds from the Releases page aren't notarized,
so Gatekeeper blocks them. After copying ScriptBreak to Applications, run
this once in Terminal, then open the app normally:
xattr -cr /Applications/ScriptBreak.app
- Windows SmartScreen warning — same story, no code-signing certificate yet. Click "More info" → "Run anyway."
- Double-clicking a
.scriptbreakfile doesn't open it on macOS — file associations are registered with Launch Services the first time the app is opened, so launch ScriptBreak once (from Finder/Applications) before double-clicking a project file. macOS also delivers "open this file" requests as an Apple Event rather than a command-line argument, so this only works through the app's event-based file-open handling, not a plain argv check.
Issues and pull requests welcome. The frontend is intentionally a single
src/index.html with no build step — keep it that way. If you're touching
the desktop wrapper, it lives entirely in src-tauri/.
Apache License 2.0 — see LICENSE, same as the rest of the Wasserman Filmmaker Suite. © 2026 Sam Wasserman / Wasserman Productions.
Created by Sam Wasserman · wassermanproductions.com · wasserman.ai · GitHub · Support Sam Wasserman on Ko-fi








