Maya Editor

An editor you don't have to leave.

A small native macOS editor with a real terminal — and in the same window git, pull requests with review, Kubernetes, databases and an issue board. The things that otherwise send you to another app several times an hour are a tab or a pane here. And Claude Code or Codex runs in that terminal like any other process, with session history and a seat at the review.

Download 0.19.2 Report an issue

6.7 MB · build 761 · released 28 Oct 2026

macOS 14 and later · Apple Silicon only — an Intel Mac will refuse it and Rosetta will not help: it translates x86 to ARM, not the other way round.

The Maya Editor window: the file navigator on the left, a Swift file open and syntax highlighted beside it

Three reasons to stay

Back where you were

Quit the editor, restart the Mac or install an update — and on launch every project is back, tabs in their old order, and every Claude Code or Codex session resumes in its own tab. An agent that is mid-turn is never ended without asking: Interrupt and Quit, or Wait for Them.

See where Claude is asking, and where it finished

A red dot on a terminal tab: Claude is waiting for your permission. Blue: it finished a turn in a tab you were not looking at. The project's tab carries the dot too, so you see it while working somewhere else. Nothing to install — the editor reads what Claude writes about itself to ~/.claude/sessions, for a claude typed by hand as well.

Every project has its colour

A colour and an emoji on the project's tab, in the recent projects list and on Favorites cards — production never passes for staging. Eight presets or any colour you like. Stored in .maya/project.json, so it travels with the repository and committing it is your call.

One window

Each of these is a tab or a pane in the same window as your files. None of them opens another app, another sign-in or another account.

Claude Code and Codex, right at home

No chat panel and no API. The agent runs as a process in the same zsh -l you would have started yourself — only in a window that also holds the files, the diffs and git. Around that, the editor does four things.

A session on one key

⇧⌘R opens a tab straight into claude. The folder comes from the project, and the opening message you set is filled in with the project's name. With nothing configured it starts a bare claude and waits.

Resume in one click

The arrow beside ✦ lists the project's last eight sessions; ⌥⌘R opens the whole list as a searchable palette. The rows come from the transcripts in ~/.claude/projects — nothing is copied and nothing is sent.

Back where you were

Quit the editor, restart the Mac or install an update, and every project comes back as it was: the same tabs in the same order, and every Claude Code or Codex session that was running back in its own tab. The editor remembers which session was where, so there is nothing to hunt for. Switch it on in Settings.

Review over MCP

The editor is an MCP server named maya-editor: the agent gets the pull request's diff, code and threads, and its comments land in a draft that a person reads and submits. The agent never holds a token — the editor talks to GitHub.

The Resume Claude Session palette listing the project's recent sessions, with search
Your own agent connects with a URL and a token — it gets a glyph in the toolbar, a REPL and a badge for a waiting question. The agent interface is documented; the server on the other end can be anyone's.

Small and native

150–250 MB
with four projects open, a terminal in each and a few files. Not a gigabyte.
77 ms
to colour a half-megabyte file, off the main thread — highlighting with no parser, no tree-sitter and no JavaScript.
0
web views. Even the Markdown preview is native text; the window chrome is the system's, not an imitation.
The database browser showing a query result in a grid
⌘↵ runs the statement under the cursor. Clicking a row lays it out under the grid — every value whole, JSON pretty-printed.
A pull request tab: a file's diff with a line comment being written and the Review bar showing the draft count
Reviewing a pull request in a tab: comments on the diff's lines go out as one review — including the ones an agent wrote over MCP.
An issue board with Todo, In Progress and Done columns
The board is another tab of the project, not another window — GitHub Projects, Trello and Jira.

What it deliberately leaves out

LSP, autocomplete, a debugger, extensions, collaboration, remote development, a build system. That is not a list of things not done yet — it is a decision. You already know the editor that does all of it; this one is small on purpose.

Companies backing this

Nobody yet. The Company tier on GitHub Sponsors puts a logo and a link right here — where people deciding about the editor will see it.

How the licence works

30 days free

After downloading you sign in through GitHub and it runs for 30 days. The trial is counted on the server against your GitHub account, so reinstalling will not reset it — and it will not run down before you launch the app either.

Then for sponsors

It keeps running for anyone sponsoring mesour on GitHub. Private sponsorships work too — the question is asked with your own token.

Signing in happens in the browser

The app has no password field and must not have one. The whole sign-in runs at GitHub; only a signed licence comes back. What leaves your Mac is written up on one page, with the commands to check it.

Seven days offline

A licence is good for a week without a network. It is a deliberate trade: a longer window would mean a cancelled sponsorship taking longer to run out.

All features → Sponsor on GitHub Download 0.19.2