A terminal for working with agents

Let agents drive.
Keep the keys.

midna is a macOS terminal your agents can run themselves: they open terminals, start tests and watch servers. Anything that needs your OK waits in one place, and your shells survive every restart.

Free and open source · Apple Silicon · macOS 12+

How it works

Agents add. You decide.

  1. 1midna open --monitor …

    Agents do the driving

    Claude Code and Codex open terminals, run tests in a monitor you can watch, and read each other’s output through the midna CLI or MCP.

  2. 2⌘J next in Needs you

    You get asked, once

    When an agent wants something only you can allow, it lands in Needs you. Approve it once, for ten minutes, or always, and it becomes a rule.

  3. 3midna daemon upgrade

    Nothing gets lost

    A daemon owns every shell. Quit the app, update it, restart the daemon: your terminals keep running with the same screens and processes.

Built for agents

Everything is a method.

Every capability midna has is one call in a discoverable catalog. Agents use the midna CLI or MCP, and refusals tell them what to do next instead of failing silently.

  • midna capabilities says what an agent can do, and what only you can
  • midna schema is the full OpenRPC catalog
  • midna mcp exposes every method as a tool
  • midna explain says why something is the way it is
$ midna open --name tests --monitor 'cargo test'
$ midna rules add deny command 'git push --force*'
$ midna rules remove r_41
rule.remove is human only; use rule.request_removal
to ask the human
$ midna rules request-removal r_41 --reason "blocks the release tag"
$ midna attention "tests pass, ready for review"
NativeRust and GPUI, not Electron. Holds 120 fps scrolling an 80 MB log.
Daemonmidnad owns every terminal, so closing or updating the app never kills a shell.
SignedNotarized builds and updates checked by signature, hash and Team ID before they install.

Open source

Built in the open.

midna is free, MIT licensed and developed on GitHub. Star the repository to follow along, and tell us when something doesn’t work the way you expect.

Questions

Good to know.

More in the docs.

Which Macs does it run on?

Macs with Apple Silicon, on macOS 12 or later. midna is a native app written in Rust, with GPUI for the window and libghostty for the terminal engine.

Which agents does it work with?

Claude Code and Codex are built in: midna wires up their hooks, status, cost and MCP for the terminals it starts, without touching your global agent config. Any other tool can use the midna CLI or the MCP server.

Can an agent approve its own requests?

No. Approving, removing rules, setting webhook secrets, enabling triggers and changing human-only settings belong to you. When an agent tries one, it becomes a Needs you item instead. The security page explains where that boundary holds and where it doesn’t.

What happens to my terminals when midna updates?

They keep running. The app swaps itself atomically and relaunches, and the daemon re-executes in place with the same process ID, handing over every shell and its screen.

Does midna send my data anywhere?

No. Your terminals, events and settings stay on your Mac. midna goes online to check GitHub for updates and, if you turn on triggers, to receive the webhooks you configured.

What does it cost?

Nothing. midna is free and open source under the MIT license. There’s no account.

Stop babysitting tabs.

Free, no account, and your terminals stay on your Mac.