Documentation

Getting started

Everything you need to go from download to your first query — and the features worth knowing about once you're there.

1. Install

Download ByteRunner Setup.exe (v1.0.48,July 18, 2026) and run it. There's nothing else to install — ByteRunner bundles its own JDK 21 runtime, so compiling, running, and debugging all work out of the box.

Windows may show a SmartScreen prompt ("unknown publisher") because the installers aren't code-signed yet — signing is in progress. Choose More info → Run anyway. Only download ByteRunner from this site or the ByteRunner-releases GitHub repo.

2. Your first query

Pick a language in the toolbar (Kotlin, Java, Groovy, or Scala), type a few lines, and pressF5. No main(), no project — statements just run. Three query modes are available in the toolbar: Expression (one expression, its value is the result), Statements (the default — a sequence of statements), andProgram (a full program with main()).

3. See results with dump()

dump(value) — or value.dump() — is how anything becomes visible. It's available in every query without imports:

val people = listOf(Person("Alice", 30), Person("Bob", 25))
dump(people, "People")   // a sortable table with a column per property

Collections render as sortable tables, objects as expandable trees, and JSON, XML, and images render natively. An expression query's final value is dumped automatically.

4. Connect a database Pro

Add a connection in the Explorer sidebar — PostgreSQL, MySQL/MariaDB, SQLite, H2, SQL Server, or DynamoDB — and browse its schema. In a query, every table becomes an accessor you can use directly:

Users                                   // SELECT * — rendered as a grid
Users.where { u -> u.age gt 21 }          // typed, autocompleted columns
    .select { u -> listOf(u.name) }
query("SELECT count(*) FROM Users")     // raw SQL when you want it

Want a playground? Browse Samples on the welcome screen creates a bundled SQLite sample database with a guided tour script.

5. Debug Pro

Click the editor gutter (or press F9) to set a breakpoint, then start from theDebug menu. Step with F10/F11, watch variables live, and evaluate expressions in the Immediate window while paused.

6. Run tests inline

Declare @Test methods right in a query — JUnit's @Test andkotlin.test assertions ship with ByteRunner — and pressAlt+Shift+T:

Run Tests reporting pass/fail per test with failure messages and timings

7. My Extensions

File → Edit My Extensions opens a per-language helper file. Anything you define there — functions, types, constants — is available in every query of that language, no imports needed. Ctrl+S saves; changes apply on your next run.

8. Per-query properties

Press F4 for Query Properties: add namespace imports (likejava.util.*) that apply to every run of that query without writing the import, and see the query's language, connection, and dependencies at a glance. Saved with the query in its .brpad file.

Keyboard shortcuts

F5Run the query
Shift+F5Cancel a running query
Ctrl+F5Run Isolated (killable, separate process)
Alt+Shift+TRun Tests — every @Test in the query
F4Query Properties (namespace imports, connection)
F8 / Ctrl+F8Full-screen Results / Results side-by-side
F9Toggle breakpoint
F10 / F11 / Shift+F11Step over / into / out
Ctrl+F10Run to cursor
Ctrl+P / Ctrl+Shift+FSearch Scripts (quick-open / content search)
Ctrl+,Preferences
Ctrl+N / Ctrl+T / Ctrl+WNew query / new tab / close tab
Ctrl+S / Ctrl+Shift+SSave / Save As
F2Rename tab
Ctrl+DDuplicate line
Alt+Up / Alt+DownMove line up / down
Ctrl+= / Ctrl+- / Ctrl+0Editor font size bigger / smaller / reset
Alt+WToggle word wrap

Updates

ByteRunner checks this site on startup and tells you when a new version is available — it never installs anything on its own. Help → What's New shows what changed in your version, and the full history is on the releases page.