Early previewDownload

Every session,
one calm board.

Mastlight is an app for Mac and Windows for people who keep a lot of Claude Code sessions going at once, on one account or several. Every session tells you what it needs, and you answer it in one place. No more tab safari.

Version 1.2.14 · Free · macOS 13 or later, Apple silicon · 148.4 MB

Version 1.2.14 · Free · Windows 10 or 11 · 123.8 MB · Arm build

Version 1.2.14 · Free · Windows 10 or 11 · 116.9 MB · Intel or AMD build

The main window

Shown on macOS. Windows looks the same, with Ctrl keys.

Keys
Inbox 2
api-refactor~/work/apiA1ctx 41%
> Split the request handler into routes and services, then run the tests.
● I'll start with the handler.
  ⎿ Read src/server/handler.ts (318 lines)
● Edit src/server/routes.ts
  ⎿ Added 42 lines

Waiting on you api-refactor A1 3m

Run a command

npm test -- --watch=false

cwd ~/work/api

Claude says: Run the unit tests once

Falls back to the terminal in 9:12

A recreation of the main window with sample sessions. Go on, press the buttons: answering a card here only changes this picture. Click the mastlight wordmark and the window nods off into the Firefly jar (left alone, it does that by itself after 20 seconds here; the app waits 10 minutes by default). Pick a firefly to wake it.

one vocabulary

Every session is in one state, and every state has a word. No decoding colored dots.

Color is saved for state: amber when you are needed, red when something broke. Every state also has its own shape and word, so nothing relies on color alone. Ready and Idle keep the session you used last at the top.

features

What it does. The short version.

Several Claude accounts, side by side

Sessions from every account share one list. Group them by state, by the repo each one really works in, or by account, and keep an eye on each account’s 5-hour and weekly limit without opening anything.

One inbox for every session

Whatever is waiting, on any account, lands in the inbox, oldest first. ⌘ J Ctrl Shift J jumps to it, and you answer right there. No more guessing which terminal tab asked.

The exact permission, plan or question

A card shows the real command, the plan, or the question with its options, built from what the session is asking. Answer with a key, right from the message box: ⌥ 1 Alt 1 allows once, ⌥ 3 Alt 3 denies. Each card is one decision; there is no approve-everything button, on purpose. Cards dock under the terminal or the Conversation view, which shows the transcript as proper Markdown: headings, lists, tables and code blocks.

Terminals that survive quitting

Each session runs in a built-in terminal owned by a small background helper, not by the window. Quit or update Mastlight and the sessions carry on without it. Open it again and every tab reattaches, scrollback and all.

Restore after a crash or reboot

If the helper gets killed or the computer restarts, the next launch offers “Restore 6 sessions”. Each one picks up in its own folder, under its own account.

Agents, each with its own firefly

The Agents panel sits under the Inbox and lists the running agents and background tasks of the session you are looking at, with model, effort and how long each has been at it. Every session also has an Agents tab, the Agent Board, for the full picture. Every running agent gets a small firefly with its light on, and in the Firefly jar they orbit their session. Finished ones fold under a “Finished” heading until you open it, and model names read like “Opus 5.5”. To change a session’s model, click its name in the session header and pick Fable, Opus, Sonnet or Haiku: Mastlight switches it for you, with no trip to the terminal. The effort menu next to it works the same way. A session stays Working while any agent it started is still running, even after its own turn ends. Rename a session in Mastlight and Claude’s own name for it follows, however long Claude stays busy.

Sessions from other terminals can move in

On a Mac, a claude already running in iTerm, Terminal or tmux shows up in an External group, read-only, so nothing hides from you. When you are ready, File › Import sessions… moves them in: Claude exits in the old tab and the same conversation resumes here, same account, same folder. A busy one can wait until it is idle.

Sessions inside your dev container

If a project has a running dev container, from VS Code or the devcontainer CLI, Mastlight can start Claude Code inside it. The Conversation view, the inbox, permission cards and restore work the same as outside the container, and nothing in your project has to change. On a Mac it works with Docker Desktop, OrbStack, Colima, Rancher Desktop or Podman. On Windows it understands Docker Desktop’s paths, but that has not been run on a real PC yet, and folders inside WSL are not supported. Claude Code needs to be installed in the container.

you stay in command

It runs your sessions. It doesn’t run them for you.

Some tools take a goal and send a crew of agents off on their own, then hand you the result to trust. Mastlight is the other shape.

Every session is one you started. Every permission, plan and question waits for your key, one decision at a time. Nothing happens off-screen, on any account, and all of it stays on your Mac.

between turns

For the minutes between turns, and the hours you step away.

The Firefly jar: read it from across the room

Every live session is a firefly in a dark jar. The ones waiting on you glow amber at the front with their names, working ones drift cyan, finished ones settle low, and agents orbit the session that started them. Click the mastlight wordmark, press ⌘ ⇧ G Ctrl Shift G, or choose Open the firefly jar on the All quiet screen. Leave Mastlight alone and it takes over the main pane by itself: after 10 minutes by default, or 5, 15 or 30, or never. Never in the middle of a game, a sheet or a sign-in. The sidebars stay put, nothing you type reaches a terminal, and picking a session takes you straight back to it. The fireflies size themselves to the window and to how many sessions you have.

An arcade that knows its place

Snake, Bananas and Pong, for the minutes while a turn runs, drawn in Mastlight’s own night colors. The moment a session needs you or has a reply, the game pauses and says which one: Go there, or Keep playing. Keys meant for the game never reach a terminal. Best scores stay on this computer, sound is off until you want it, and one setting hides the whole arcade.

Today’s tally

What got done today: turns finished, cards allowed and denied, questions answered, time sessions spent working, the longest turn, agents launched, high scores. Step back up to a week, or copy it as text. It is kept on this computer for 30 days and holds ids and times, never what was said.

Small things, too: the NEW mark on a session clears itself after about three seconds on screen, and the row keeps its height. The game icons in the dock have labels now. The Agents panel has more room.

new in 1.2

And what 1.2 adds.

Actions and a git line in every session

The header shows the branch, lines changed, uncommitted files and the pull request with its checks. The Actions menu (commit, commit and push, open a PR, review, fix review comments, resolve conflicts, write a recap) puts an editable prompt in Claude’s message box and waits for your Enter. Only the actions that fit the repo’s state are offered.

Usage at API prices

See what your tokens would have cost on the API, by day, model, project, account and session. Your plan isn’t billed this way; it shows what the plan is worth.

Split terminal panes

⌘D splits a session’s terminal to the right and ⇧⌘D splits it down (Ctrl+Shift+D and Ctrl+Shift+H on Windows). Each pane is a shell in the session’s folder, and the layout comes back after a restart.

Schedules

Start a session with a prompt once, daily, on weekdays, every few hours or on a cron expression. The background helper runs them even with the window closed, and a run missed while your computer slept catches up once.

Let one Claude session run the others

An MCP server and a mastlight command let a session list, read, message, answer, start and stop your other sessions. Every call goes into an audit log you can read in Settings, and prompts sent this way are marked in the conversation. On by default, and one switch turns it off.

No more silent blocks

If Claude leaves a prompt open in the terminal, such as a permission card that timed out, the conversation shows “Waiting on a prompt in the terminal” with the question, the session turns amber, and your draft stays in the box until you answer.

new in 1.1

And what 1.1 adds.

The Your turn view: three finished sessions, oldest first, each with a reply box and quick replies such as continue, go ahead, ship it and looks good.The Your turn view: three finished sessions, oldest first, each with a reply box and quick replies such as continue, go ahead, ship it and looks good.

Your turn: the queue you wait on most

Finished sessions line up oldest first, each with a reply box and your usual quick replies. ⌘ Y Ctrl Shift Y opens it, ⌘ ⇧ J Ctrl Shift U steps to the next.

The Changes tab of a session, listing every file the session changed, with the ones worth reviewing first flagged.The Changes tab of a session, listing every file the session changed, with the ones worth reviewing first flagged.

Change Map: see what Claude changed, per turn

A Changes tab shows every file each session changed, including edits made by Bash and subagents, and flags the ones worth reviewing first. It works from copies, so your repo is never written to.

A file’s history in the Changes tab: a slider to step back through versions, and each changed hunk labeled with who made it.A file’s history in the Changes tab: a slider to step back through versions, and each changed hunk labeled with who made it.

Step back through a change, and comment on it

A slider replays a file’s history, every hunk says who made it, and a comment on selected lines goes straight to that session. Moved code reads as moved.

The first stop of a guided tour of a change, with an explanation of the code and a risk note.The first stop of a guided tour of a change, with an explanation of the code and a risk note.

A guided tour of a change, when you ask for it

The session’s own Claude walks you through the change in four to six stops with a risk note on each. It is off until you switch it on, because it uses your limits.

The Agent Board: every subagent a session launched, running or done, with its task and outcome, and a strip showing progress through a GRAPH.md.The Agent Board: every subagent a session launched, running or done, with its task and outcome, and a strip showing progress through a GRAPH.md.

Agent Board

Every subagent a session launched, running or done, with its task, outcome and transcript, plus a strip showing a GRAPH.md’s progress.

A banner warning that an account has reached 80% of its limit, with the time the limit is forecast to run out.A banner warning that an account has reached 80% of its limit, with the time the limit is forecast to run out.

Limits Pilot

Each account’s gauge forecasts when the limit will run out, warns at 80% and 95%, and shows when another account has more room. It never switches accounts for you.

Searching every conversation for a phrase: matches from two conversations, with the search term highlighted and filters for account, project, date and speaker.Searching every conversation for a phrase: matches from two conversations, with the search term highlighted and filters for account, project, date and speaker.

Search every conversation, and keep them

Claude Code deletes transcripts after 30 days; Mastlight keeps its own copy and searches all of them with ⌘ ⇧ F Ctrl Shift S. A conversation Claude deleted still opens, read-only. Keeping them costs almost no extra disk: on a Mac the copy shares space with Claude’s own file, and what only Mastlight keeps is compressed.

The session sidebar grouped by project, with a chip on sessions that work in another repo.The session sidebar grouped by project, with a chip on sessions that work in another repo.

Real projects, not folders

Sessions started in your home folder are grouped by the repo they actually work in, with a chip for the others, and you can override it.

The sidebar with a collapsed Automations shelf holding scripted runs, apart from the session list.The sidebar with a collapsed Automations shelf holding scripted runs, apart from the session list.

Automations shelf and sleeping sessions

Scripted claude -p runs go to their own collapsed shelf instead of cluttering the list, and quiet sessions can sleep and wake with their conversation intact.

The New session sheet with a saved preset, Uncorp release, offering Fill form and Start.
The panel listing what a session loaded: CLAUDE.md files, plugins, skills and subagents.

Launch presets, and what a session loaded

Save how a session starts and launch it from the palette; a panel lists the plugins, skills, MCP servers and CLAUDE.md files it actually loaded.

A replay export open in a browser, playing a conversation back.A replay export open in a browser, playing a conversation back.
The same replay on a phone-sized screen.The same replay on a phone-sized screen.

Replay export

One offline HTML file that plays a conversation back, with secrets and home paths removed and a review sheet before you save.

how it works

Three steps, about two minutes.

  1. Install

    Mac: open the DMG and drag Mastlight onto Applications. The first time, macOS asks you to confirm it in System Settings, because it is not signed yet (here is how). Setup starts straight away.

    Windows (new): run the installer. SmartScreen warns because it is not signed yet: More info, then Run anyway (here is how). No administrator prompt, and Mastlight starts when it is done.

  2. Sign in with Claude’s own /login

    Mastlight finds your Claude Code, offers the sign-ins already on your computer, or opens a terminal where you run /login yourself. It never sees a credential.

  3. Start sessions

    Press ⌘ N Ctrl Shift N, pick a folder and an account, and get on with something else. When a session needs you it moves to the top, and ⌘ J Ctrl Shift J takes you there.

privacy

It stays on your computer.

Everything runs here

The window, the sessions and the engine that watches them all run on your computer. So do the history Mastlight keeps and the change snapshots, in Mastlight’s own folder, each with a Clear button.

No account, no telemetry, no relay

There is nothing to sign up for and no server of ours to send things to. The only request the app makes on its own is a daily check for a newer version, and you can switch that off.

Your credentials stay with Claude

Sign-ins stay where Claude keeps them (on a Mac, the macOS Keychain or its own folder). Mastlight reads only the email and plan from each account, never a token.

This website has no analytics, cookies, forms or third-party requests either. Just some fireflies.

requirements

What you need. It is a short list.

Mac

Computer
A Mac with Apple silicon (M1 or newer).
System
macOS 13 (Ventura) or later.
Download
148.4 MB, an arm64 build.

Windows new

Computer
An Intel or AMD PC, or an Arm PC.
System
Windows 10 (version 1809) or Windows 11.
Download
123.8 MB for Intel or AMD, 116.9 MB for Arm.
Recommended
Git for Windows. Claude Code uses Git Bash when it is installed.

On both

Claude Code 2.1.85 or newer
That is the first version where a hook can answer a question. Setup checks the version it finds.
A Claude subscription
You sign in with your own. One account is plenty; more is fine too.

download

Download Mastlight 1.2.14.

Mac

Your computer

Apple silicon · macOS 13 (Ventura) or later · 148.4 MB

Download for Mac

Apple silicon (M1 or newer) · 148.4 MB

SHA-256 · Mastlight-arm64.dmg
7d3b0d866a2833b099372c2601040d2494d9ccb6258be52cee1a63f1dd4c05d2

Check it yourself, optional. Run this in Terminal and compare the first long string it prints.

shasum -a 256 ~/Downloads/Mastlight-arm64.dmg

First open. Not signed by Apple yet, so macOS asks you to confirm once: System Settings, Privacy & Security, Open Anyway.

Good to know. Setup needs Claude Code 2.1.85 or newer and a Claude subscription.

Step by step on a Mac

Windows

newYour computer

Windows 10 (version 1809) or Windows 11

Download for Windows

Intel or AMD (x64), most PCs · 123.8 MB

SHA-256 · Mastlight-Setup-x64.exe
aa253d9630e1bd11a2f17ec2da850ef42e9ed0ae4e3b045237604cf4b7484992
Download for Windows on Arm

Arm: Snapdragon, Surface Pro X, ARM laptops · 116.9 MB

SHA-256 · Mastlight-Setup-arm64.exe
87c88da965dc8095dad16a36ea4d296409f66a6506e2eb0948fafc4e5916b9b2

First open. Not signed yet, so SmartScreen says “Windows protected your PC”: choose More info, then Run anyway.

New. This is the first Windows release and it has not been tested on real PCs yet, so expect rough edges. Git for Windows is recommended; Claude Code 2.1.85 or newer and a Claude subscription are needed too.

Step by step on Windows

All files are on the release page. Downloads come straight from GitHub; nothing on this site tracks them.

questions

The questions everyone asks first.

About Mastlight

Is Mastlight made by Anthropic?

No. Mastlight is an independent app. It is not affiliated with or endorsed by Anthropic, and it runs the unmodified claude you already have.

Does it change my Claude settings?

No. The hook that shows cards is passed to each session on its own command line (claude --settings <file>). Your own settings files are never edited.

Can I use more than one Claude account?

Yes. Add each one by signing in with Claude’s own /login in a terminal inside Mastlight, or import the sign-ins already on your computer. Each account has to be your own. Mastlight never sees a credential, and it does not switch accounts for you: a session starts under the account you pick.

We read Anthropic’s Consumer Terms (effective October 8, 2025) and Usage Policy (September 15, 2025) on 5 October 2026. They do not mention a limit on how many accounts one person may hold, and they do not allow sharing a login. Read them yourself: Consumer Terms.

What does it send over the network?

Nothing to us: there is no server of ours. The one request the app makes by itself is a once-a-day check for a newer version, which you can switch off in Settings. Claude Code itself talks to Anthropic as it always does. So does a guided tour of a change if you switch one on (it is off by default): it runs the session’s own Claude, which talks to Anthropic as usual.

Does it update itself?

No. It tells you a newer version exists, with a link to download it, but it never downloads or installs one behind your back.

How do I reach you, or report a bug?

Email hello@mastlight.io. Say which version you have, whether you are on a Mac or Windows, and what happened. Bugs can also go on GitHub as an issue, which is public, so leave out anything private.

How do I remove it?

On a Mac: in Settings, Uninstall Mastlight (two confirmations) removes the app’s data, its logs and its background helper, then moves the app to the Trash. It does not touch ~/.claude*, your Claude sign-ins or other apps.

On Windows: Settings, Apps, Mastlight, Uninstall. There is no administrator prompt. Your sessions and settings stay in %APPDATA%\Mastlight on purpose; delete that folder by hand for a clean slate. Your Claude sign-ins are not touched.

On a Mac

macOS says it can’t open the app. What do I do?

The build is not signed with an Apple Developer ID yet, so macOS is suspicious of it. Fair enough. Since macOS 15, right-click and Open no longer gets you past that. Instead, open Mastlight once and choose Done when macOS refuses. Then go to System Settings, Privacy & Security, scroll down and click Open Anyway, and confirm. After that it opens like any other app. Getting started has the steps.

If macOS says the app is “damaged” and offers no Open Anyway, run this once in Terminal: xattr -dr com.apple.quarantine /Applications/Mastlight.app

On Windows

Is there a Windows version?

Yes, as of 1.2.14: Windows 10 (version 1809) or Windows 11, on Intel or AMD PCs and on Arm PCs. It is new: this is the first Windows release, it is not signed yet, and it has not been tested on real PCs yet, so expect rough edges. Getting started has the Windows steps.

Windows says “Windows protected your PC”. What do I do?

The installer is not signed with a code-signing certificate yet, so Windows SmartScreen warns about it. Choose More info, then Run anyway. The install needs no administrator prompt. You can check the file first against the SHA-256 in Download.

Which Windows file do I need, Intel or AMD, or Arm?

Open Settings, System, About. If System type says “x64-based”, take the Intel or AMD installer. If it says “ARM-based processor” (Snapdragon PCs, Surface Pro X, Windows in Parallels on a Mac), take the Arm one. On Chrome, Edge and other browsers that report it, the page picks Arm for you; elsewhere the main button is the Intel or AMD build and the Arm one is in Download.

Do I need Git for Windows?

It is recommended. Claude Code uses Git Bash when Git for Windows is installed and PowerShell when it is not.

Does it work with WSL?

Not yet for folders inside WSL (paths that start \\wsl$ or \\wsl.localhost): they are not supported, for dev containers or otherwise.

Are the keyboard shortcuts the same on Windows?

Nearly, with Ctrl in place of the Command key. A Windows terminal already uses most Ctrl keys, so app commands are Ctrl+Shift plus a letter, and F1 shows the whole list. Flip the Keys switch above the window to see either set.

All quiet. Nothing needs you right now.

That is the whole idea. Mastlight is in early preview.

Version 1.2.14 · Free · macOS 13 or later, Apple silicon · 148.4 MB

Version 1.2.14 · Free · Windows 10 or 11 · 123.8 MB · Arm build

Version 1.2.14 · Free · Windows 10 or 11 · 116.9 MB · Intel or AMD build

Getting started shows the first open, step by step, on each system.