Developer platform
HollowScript
Status: LiveA statically typed, capability-safe scripting language for Hollow automation, already running in production inside Cascade.
HollowScript is a general-purpose language built so an unattended script can never reach further than it is explicitly allowed to: no ambient I/O of any kind, not even printing or the clock, unless a file declares it up front.

Language
Statically typed, deliberately boring
HollowScript is statically typed with no any escape hatch, uses records and free functions instead of classes, makes every value immutable, and replaces null with a checked optional type, all in service of catching a mistake before an unattended automation fails at 3am.
- No any: hallucinated field or method names are caught, not run
- All values immutable; variable rebinds a name, never edits one
- No null: absence is declared in the type and must be checked
- Statically typed, no any
- Records, not classes
- Immutable values
- No null, explicit Result
Security
No ambient authority, anywhere
Every capability a script can touch, even printing, the clock, or random numbers, is declared in a uses header and marked effect at the call site. The interpreter has no primitive that reaches outside the sandbox: safety is a language-level guarantee that holds with or without a container around it.
- A file declares every capability it may touch, up front
- Printing, the clock, and random numbers are capabilities too, not ambient
- Parsing never throws: malformed input returns diagnostics, not a crash
- A uses header declares access
- Every effect is marked
- Even print and clock are capabilities
- Parser never throws
Ship it
Built for release, running in production today
HollowScript already runs in production as a Cascade step type, embedding Hollow Expression Language (HEL) as its filter grammar. It runs on the native Rust runtime, which is in preparation for its first public preview, with signed standalone downloads and source planned after the release gates are complete. The current CLI supports run, check, format, build and the language server; it does not include an interactive REPL.
- CLI commands: run, check, format, build, and language server
- The native runtime runs inside Cascade’s code steps today
- The native Rust runtime is being prepared for a signed public preview release
- CLI: run, check, format, build
- Signed standalone binaries in preparation
- Native runtime pre-release
- Current integration runs in Cascade
What’s inside
A language built not to go wrong unattended
- 01
Statically typed core
No any, immutable values, no null, explicit Result returns instead of exceptions.
- 02
Capability-based security
A uses header declares every effect; nothing reaches outside the sandbox by default.
- 03
HEL, embedded
Hollow Expression Language, a small boolean filter language, is built into HollowScript’s own grammar.
- 04
Never-throwing parser
Malformed input always returns diagnostics with source spans, never a raw crash.
- 05
CLI and binaries
The native CLI supports run, check, format, build and the language server; the signed preview release is still being prepared.
- 06
Live in Cascade
Runs inside Cascade’s code steps today, with a real syntax-highlighted editor.
A closer look
HollowScript in action
A language built not to go wrong unattended
The native HollowScript runtime is in pre-release preparation. Follow hollowscript.org for the specification, documentation and first release.



